Vous ne pouvez pas le faire dans une très bonne manière "juste" à l'aide de ECMAscript lui-même. Par exemple, si il y a un gestionnaire d'événements click ajouté par DOM Niveau 1 dans la forme de
document.getElementById('buy').onclick = function() {};
bien sûr, vous pouvez facilement intercepter cette propriété sur le nœud lui-même. Les choses se compliquent si DOM Niveau 2 entre en jeu à la .addEventListener()
respectevily .attachEvent()
. Maintenant, vous n'avez pas vraiment d'un "lieu" à chercher où toutes les différentes fonctions d'écouteur tenu de.
Il est de mieux en mieux en utilisant jQuery. jQuery tiendra toutes ses fonctions de gestionnaire d'événements dans un objet spécial qui est lié à l'arbre DOM de l'invocation. Vous pouvez vérifier que par l'obtention de l' .data()
-expando propriété pour un nœud comme
$('#buy').data('events');
Cependant, maintenant que je l'ai déjà décrit trois façons différentes de liaison des écouteurs d'événement à un nœud (en fait deux, car une librairie comme jQuery utilise également des DOM Niveau 1 ou 2 méthodes de cours).
Il est vraiment laid, si un événement est triggerd par délégation. Cela signifie que, nous avons lié notre événement click sur certains parent-nœud juste en attente pour cet événement se prépare à nous afin que nous puissions vérifier l' target
. Alors maintenant, nous n'avons même pas une relation directe entre l' node
et de la event listener
.
La Conclusion ici est, à l'affût d'un plugin de navigateur ou probablement une chose comme VisualEvent.