Il ne semble pas y avoir de fonction inter-navigateurs permettant de rechercher les événements enregistrés sous un élément donné.
Toutefois, il est possible de visualiser les fonctions de rappel des éléments dans certains navigateurs à l'aide de leurs outils de développement. Cela peut s'avérer utile pour déterminer le fonctionnement d'une page web ou pour déboguer un code.
Firefox
Tout d'abord, visualisez l'élément dans la fenêtre Inspecteur dans les outils de développement. Cette opération peut être effectuée :
- Sur la page en cliquant avec le bouton droit de la souris sur l'élément de la page web que vous souhaitez inspecter et en sélectionnant "Inspecter l'élément" dans le menu.
- Dans la console en utilisant une fonction pour sélectionner l'élément, telle que document.querySelector puis en cliquant sur l'icône à côté de l'élément pour l'afficher dans la fenêtre d'accueil. Inspecteur tabulation.
Si des événements ont été enregistrés pour l'élément, vous verrez un bouton contenant le mot Événement à côté de l'élément. En cliquant dessus, vous pourrez voir les événements qui ont été enregistrés avec l'élément. En cliquant sur la flèche située à côté d'un événement, vous pouvez afficher la fonction de rappel correspondante.
Chrome
Tout d'abord, visualisez l'élément dans la fenêtre Éléments dans les outils de développement. Cette opération peut être effectuée :
- Sur la page en cliquant avec le bouton droit de la souris sur l'élément de la page web que vous souhaitez inspecter et en sélectionnant "Inspecter" dans le menu.
- Dans la console en utilisant une fonction pour sélectionner l'élément, telle que document.querySelector cliquer avec le bouton droit de la souris sur l'élément et sélectionner "Révéler dans le panneau Éléments" pour l'afficher dans la fenêtre d'accueil. Inspecteur tabulation.
Près de la section de la fenêtre qui montre l'arbre contenant les éléments de la page web, il devrait y avoir une autre section avec un onglet intitulé "Event Listeners". Sélectionnez-le pour voir les événements qui ont été enregistrés pour l'élément. Pour voir le code d'un événement donné, cliquez sur le lien situé à sa droite.
Dans Chrome, les événements d'un élément peuvent également être trouvés à l'aide de la fonction getEventListeners fonction. Cependant, d'après mes tests, la fonction getEventListeners ne répertorie pas les événements lorsque plusieurs éléments lui sont transmis. Si vous voulez trouver tous les éléments de la page qui ont des écouteurs et voir les fonctions de rappel pour ces écouteurs, vous pouvez utiliser le code suivant dans la console pour le faire :
var elems = document.querySelectorAll('*');
for (var i=0; i <= elems.length; i++) {
var listeners = getEventListeners(elems[i]);
if (Object.keys(listeners).length < 1) {
continue;
}
console.log(elems[i]);
for (var j in listeners) {
console.log('Event: '+j);
for (var k=0; k < listeners[j].length; k++) {
console.log(listeners[j][k].listener);
}
}
}
Veuillez modifier cette réponse si vous connaissez des moyens de le faire dans les navigateurs donnés ou dans d'autres navigateurs.