Nasıl hata ayıklama Firebug (veya benzer)aracı ile/jQuery olay bağlantılarını JavaScript
Bir WordPress kullanmak oldukça karmaşık ve dağınık* *9 bazı manipülasyon yapmak için kullanan bir web uygulaması hata ayıklamak için ihtiyacım var. Bir noktada, belirli öğeleri taşımak zorunda kaldı ki bazı olaylar, ateş ve çalışmamaya sadece.
Eğer bir özelliği düzenlemek için uygulama kaynak yapardım detaya ve eklemek bir demet Firebug console.log()
tablolar ve yorum/yorum kaldırma adet kod için denemek belirlemekte sorun. Ama izin veremem uygulama kodu girin ve tamamen Firefox Firebug veya benzeri araçlar kullanarak çalışmak gerekir varsayalım.
Firebug ben ve DOM gezinmek yönetmenize izin vermekle çok iyi. Ancak bugüne kadar, Firebug ile hata ayıklama olay yapmak için nasıl anlamaya mümkün olmamıştır. Özellikle, ben sadece olay işleyicileri, belirli bir zamanda belirli bir öğe (Firebug JavaScript kesme değişiklikleri izleme kullanarak) bağlı bir listesini görmek istiyorum. Ama ya Firebug bağlı olayları görmek için yeteneği yok, ya da onu bulmak için çok aptalım. :-)
Herhangi bir öneri veya fikir var mı? İdeal olarak, sadece ve olayları DOM bugün düzenleyebilirsiniz nasıl elemanlar için benzer şekilde bağlı düzenlemek istiyorum.
CEVAP
How to find event listeners on a DOM node bkz.
Kısaca, bir noktada senin elemanın bağlı bir olay işleyicisi varsayarsak (örnek): $('#foo').click(function() { console.log('clicked!') });
Yani sanki inceleyin:
bir WordPress kullanmak 1.3.x
var clickEvents = $('#foo').data("events").click; jQuery.each(clickEvents, function(key, value) { console.log(value) // prints "function() { console.log('clicked!') }" })
jQuery 1.4.x
var clickEvents = $('#foo').data("events").click; jQuery.each(clickEvents, function(key, handlerObj) { console.log(handlerObj.handler) // prints "function() { console.log('clicked!') }" })
jQuery.fn.data
jQuery içten amirin mağazaları nerede ().
jQuery 1.8.x
var clickEvents = $._data($('#foo')[0], "events").click; jQuery.each(clickEvents, function(key, handlerObj) { console.log(handlerObj.handler) // prints "function() { console.log('clicked!') }" })
Dinamik yükleme Y, FireBug ya da IE8 G...
Firebug veya JavaScript bir çeşit kons...
Nasıl Google hata ayıklama iletileri y...
Nasıl Android üzerinde javascript hata...
Nasıl dosya jQuery veya JavaScript var...