2013-03-18 30 views
1

我試圖在應用程序中跟蹤網頁加載速度減慢,並且有大量的JavaScript需要通過,所以我寧願不單獨處理它們。jquery:列出已準備好的處理程序

我想看看是否有辦法列出所有添加到$(document).ready()的事件處理程序,這樣我只需查看那些處理程序即可查看可能導致問題的原因。

有沒有辦法做到這一點?

+0

我想這裏的解決方案:http://stackoverflow.com/questions/4138543/list-all-binding-of-an-elment-with-jquery,但它並不包括顯然的準備處理程序 – 2013-03-18 10:39:57

回答

1

我能夠通過重寫jQuery的ready函數本身要做到這一點,這樣我可以引用存儲到處理程序,即

var readyList = []; 
var origReady = jQuery.fn.ready; 
jQuery.fn.ready = function() { 
    if ((arguments.length) && (arguments.length > 0) 
    && (typeof arguments[0] === 'function')) { 
     readyList.push(arguments[0]); 
    } 
    origReady.apply(this, arguments); 
}