2009-09-23 3 views
0

Est-ce considéré comme une bonne pratique d'arrêter la propagation d'un événement JavaScript? Est-ce que cela améliore les performances?JavaScript: Y a-t-il des avantages de performance pour la propagation d'événements d'arrêt?

Je me demande s'il y a avantage en dehors de des fins de disposition où vous arrêtez la propagation de sorte que vous ne déclenchiez pas plusieurs événements de façon accidentielle.

+0

Même si c'est le cas, c'est carrément dans le domaine de la micro-optimisation. Ce n'est rien que vous remarquerez en utilisation normale. – slikts

Répondre

1

Seulement lorsque cela est nécessaire pour la logique du programme, par exemple pour empêcher la soumission de formulaire ou le déclenchement d'une autre action d'élément DOM. Sauf si vous avez un arbre DOM sérieusement complexe, il n'y aura pas de gros problèmes de performance.

4

Cela dépend entièrement de la complexité DOM et les mesures prises dans chaque cas qui est déclenché.

Vous arrêteriez de propager des événements principalement non pas en raison de la complexité, mais en raison d'actions indésirables ne pas avoir lieu. Par exemple: Pensez à une situation où vous avez un div show hide et quand vous cliquez sur le div il devrait opne et si vous cliquez n'importe où ailleurs dans le document, il devrait se fermer.

Ainsi, vous connecteriez un gestionnaire d'événement onclick au document ainsi qu'à la div. Vous devez donc arrêter de propager l'événement lorsque vous cliquez sur la div afin que le gestionnaire de clics sur le document ne soit pas appelé. C'est une situation où vous utilisez la propagation d'événement d'arrêt.

Questions connexes