摘要:jQuery trace event
如果按照標準把 javascript跟 html分離,應該會遇到找不到事件的問題!原本把事件寫在 <input ... onclick="fn(this"...>的話,很容易就可以從 html裡找到 javascript做了哪些事,一旦分開,就要多花一點時間…如果 js檔愈拆愈多,愈分愈細,這個問題會更棘手,還沒找到很好的解決辦法,大概只能透過制定規範吧。
不過,如果只是要看「javascript程式碼+有用 jQuery」,在這兩個前提之下,可以參考這個連結:http://stackoverflow.com/questions/570960/how-to-debug-javascript-jquery-event-bindings-with-firebug-or-similar-tool
簡單摘要:jQuery在綁事件的時候,會用 $.data("events")把 function存起來。
$("*").each(function(){
var eventObjects = $(this).data("events");
if(eventObjects){
console.log(this.id, this.tagName);
$.each(eventObjects, function(eventName, obj){
$.each(obj,function(idx, handler){
console.log(eventName, handler.handler);
});
});
console.log("=================");
}
});
// 之前沒拉到下面看,自己刻了一段…留作紀念XD
如果要找到 code在哪個檔案、哪一行,還要再想想怎麼辦。