Supposons que j'ai un lien sur ma page:
<a href="#" id="foo">Click Here</a>
Je ne sais rien d'autre, mais lorsque je clique sur le lien, un alert("bar")
s'affiche. Je sais donc que quelque part, du code est lié #foo
.
Comment puis-je trouver le code qui lie l' alert("bar")
événement à l'événement click? Je recherche une solution avec Chrome.
Ps .: L'exemple est fictif, donc je ne cherche pas de solution comme: "Utilisez XXXXXX et recherchez dans tout le projet" alert (\ "bar \") ". Je veux une vraie solution de débogage / traçage.
{ }
symbole dans le coin inférieur gauche lors de l'affichage de js. La magie.Vous pouvez également utiliser l'inspecteur de Chrome pour rechercher les événements associés d'une autre manière, comme suit:
Cela vous mènera à l'endroit où le gestionnaire a été défini, comme illustré dans l'image suivante, et expliqué par Paul Irish ici: https://groups.google.com/forum/#!topic/google-chrome-developer-tools/NTcIS15uigA
la source
Essayez l'extension jQuery Audit ( https://chrome.google.com/webstore/detail/jquery-audit/dhhnpbajdcgdmbbcoakfhmfgmemlncjg ), après l'installation, procédez comme suit:
la source
(Dernière à partir de 2020) Pour la version Chrome Version 83.0.4103.61 :
Sélectionnez l'élément que vous souhaitez inspecter
Choisissez l'onglet Écouteurs d'événements
Assurez-vous de vérifier les écouteurs du Framework pour afficher le vrai fichier javascript au lieu de la fonction jquery.
la source
Edit : au lieu de ma propre réponse, celle-ci est tout à fait excellente: Comment déboguer les liaisons d'événements JavaScript / jQuery avec Firebug (ou un outil similaire)
Les outils de développement Google Chromes ont une fonction de recherche intégrée dans la section des scripts
Si vous n'êtes pas familier avec cet outil: (juste au cas où)
Faire une recherche rapide pour le #ID devrait vous amener à la fonction de liaison éventuellement.
Ex: rechercher
#foo
vous amènerait àla source
Mise à jour 2018 - Cela pourrait être utile pour les futurs lecteurs:
Je ne sais pas quand cela a été initialement introduit dans Chrome. Mais un autre moyen (facile) de le faire maintenant dans Chrome consiste à utiliser les commandes de la console.
Par exemple: ( dans le type de console chrome )
Alors que $ 0 est l'élément sélectionné dans le DOM.
https://developers.google.com/web/tools/chrome-devtools/console/command-line-reference#0_-_4
la source
findEventHandlers est un plugin jquery, le code brut est ici: https://raw.githubusercontent.com/ruidfigueiredo/findHandlersJS/master/findEventHandlers.js
Pas
Collez le code brut directement dans la console de chrome (note: jquery doit déjà être chargé)
Utilisez l'appel de fonction suivant:
findEventHandlers(eventType, selector);
pour trouver le gestionnaire eventType de l'élément spécifié par le sélecteur correspondant.
Exemple :
Ensuite, le cas échéant, le gestionnaire d'événements disponible s'affiche ci-dessous, vous devez développer pour trouver le gestionnaire, cliquez avec le bouton droit sur la fonction et sélectionnez
show function definition
Voir: https://blinkingcaret.wordpress.com/2014/01/17/quickly-finding-and-debugging-jquery-event-handlers/
la source
Pour la version Chrome 52.0.2743.116:
Dans les outils de développement de Chrome, affichez le panneau "Rechercher" en appuyant sur
Ctrl
+Shift
+F
.Tapez le nom de l'élément que vous essayez de trouver.
Les résultats des éléments liés doivent apparaître dans le panneau et indiquer le fichier dans lequel ils se trouvent.
la source