2011-06-25 3 views
7

Mon application Web utilise document.createEvent et event.initEvent pour créer des événements personnalisés du type générique Event. Je me demande si cela est considéré comme une bonne pratique. Du côté de la main, je peux ainsi utiliser le système d'événements DOM qui existe déjà et ne pas avoir à inventer et à implémenter le mien; d'un autre côté, cela peut conduire à des conflits de noms au cas où de futurs modèles d'événements normalisés définiraient un type d'événement avec le nom que j'ai choisi. (Ou est-ce possible pour les types d'événements namespace?)Est-il considéré comme une bonne pratique de créer et d'envoyer des événements Javascript personnalisés?

Je demande parce que je viens d'apprendre en naviguant sur stackoverflow que la mise en place de propriétés personnalisées sur des objets DOM ou des objets Javascript intégrés est considérée comme une mauvaise pratique.

EDIT Je pense avoir trouvé quelque chose: http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html#events-CustomEvent

Alors permettez-moi de reformuler ma question: Suis-je bien compris correctement la section cité en ce qu'il est conseillé d'utiliser effectivement un CustomEvent dans une application web?

AVERTISSEMENT AJOUTÉE Je viens de remarquer que CustomEvent est pas pris en charge dans les versions antérieures à Firefox 6. Il est pris en charge dans les navigateurs basés sur Webkit courants, cependant.

+0

Vous voulez dire, quels sont les pièges ou la manière la plus appropriée de créer des événements personnalisés? Parce que l'utilisation de vos propres événements serait spécifique au projet, je pense. –

+0

Oui, ils seront spécifiques au projet mais le code sous-jacent pourra être réutilisé plus tard. Donc, je ne veux pas mettre en œuvre quelque chose qui est mal vu, ce qui m'a fait me demander si je devrais entrer dans le modèle d'événement DOM du tout. – Marc

Répondre

3

Si vous voulez créer quelque chose et le rendre aussi résistant que l'espace de noms, vous pouvez faire ce que Webkit et Mozilla font et ajouter un nom au début de tous vos noms d'événements. Comme:

_marc_trap_door_shut 
_marc_trap_door_open 
_marc_trap_door_ajar 
... etc ... 
Questions connexes