Débogage des liaisons d'événements JavaScript/jQuery avec Firebug
Isoler les problèmes avec les liaisons d'événements JavaScript/jQuery peut être difficile, en particulier lorsque les modifications du code source sont pas autorisé. Firebug fournit des outils puissants pour l'inspection du DOM, mais le débogage des événements reste insaisissable.
Dévoilement des gestionnaires d'événements liés
Pour dévoiler les gestionnaires d'événements liés, vous pouvez exploiter la méthode data() dans jQuery :
var clickEvents = $('#foo').data("events").click; jQuery.each(clickEvents, function(key, value) { console.log(value) // prints "function() { console.log('clicked!') }" });
var clickEvents = $('#foo').data("events").click; jQuery.each(clickEvents, function(key, handlerObj) { console.log(handlerObj.handler) // prints "function() { console.log('clicked!') }" });
var clickEvents = $._data($('#foo')[0], "events").click; jQuery.each(clickEvents, function(key, handlerObj) { console.log(handlerObj.handler) // prints "function() { console.log('clicked!') }" });
En accédant au jQuery stockage d'événements interne, vous pouvez récupérer les références de fonction des gestionnaires d'événements liés, vous permettant d'inspecter leur implémentation. Cela vous permet de retracer le flux d'exécution et de diagnostiquer les problèmes potentiels.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!