Détails
Comment trouver les écouteurs d'événements sur un nœud du DOM lors du débogage ou à partir du code JavaScript ?
J'ai une page où certains écouteurs d'événements sont attachés aux boîtes de saisie et aux boîtes de sélection. Existe-t-il un moyen de savoir quels écouteurs d'événements observent un nœud DOM particulier et pour quel événement ?
Les événements sont attachés en utilisant :
- [Prototype's][1]
Event.observe
; - DOM's
addEventListener
; - Comme attribut d'élément
element.onclick
.
[1] : http://en.wikipedia.org/wiki/Prototype_JavaScript_Framework
799
3
Si vous avez simplement besoin d'inspecter ce qui se passe sur une page, vous pouvez essayer le bookmarklet [Visual Event][1].
Mise à jour : [Visual Event 2][2] disponible ;
[1] : http://www.sprymedia.co.uk/article/Visual+Event [2] : http://www.sprymedia.co.uk/article/Visual+Event+2
Cela dépend de la façon dont les événements sont attachés. À titre d'illustration, supposons que nous ayons le gestionnaire de clic suivant :
Nous allons l'attacher à notre élément à l'aide de différentes méthodes, certaines permettant l'inspection et d'autres non.
Méthode A) Gestionnaire d'événement unique
Méthode B) Gestionnaire d'événements multiples
Méthode C) : jQuery
1.3.x
1.4.x (stocke le gestionnaire dans un objet)
(Voir [
jQuery.fn.data
][1] et [jQuery.data
][2])Méthode D) : Prototype (désordonné)
1.5.x
1.6 à 1.6.0.3, inclus (c'est devenu très difficile ici)
1.6.1 (un peu mieux)
[1] : http://docs.jquery.com/Core/data#name [2] : http://docs.jquery.com/Internals/jQuery.data
Si vous avez [Firebug][1], vous pouvez utiliser
console.dir(objet ou tableau)
pour imprimer un bel arbre dans le journal de la console de tout scalaire, tableau ou objet JavaScript.Essayez :
ou
[1] : http://en.wikipedia.org/wiki/Firebug_%28software%29