只需使用API getEventListeners
即可獲取所有事件的信息。請參閱此鏈接Chrome Dev Tools : view all event listeners used in the page
這個答案的內容:
中的Chrome Devtool不能爲你做這個。但隨着API鉻讓你可以檢查那些在您的控制檯:getEventListeners
只是把這個代碼在你的開發工具的控制檯,你可以在你的頁面中的所有綁定點擊事件數:
Array.from(document.querySelectorAll('*'))
.reduce(function(pre, dom){
var clks = getEventListeners(dom).click;
pre += clks ? clks.length || 0 : 0;
return pre
}, 0)
結果是這樣的:
3249
那是一個很大的點擊綁定。絕對不是績效項目的好例子。
如果你想看到什麼事件都在你的頁面中所有的元素和多少每個事件的監聽器的綁定,只要把這些代碼在你的開發工具的控制檯:
Array.from(document.querySelectorAll('*'))
.reduce(function(pre, dom){
var evtObj = getEventListeners(dom)
Object.keys(evtObj).forEach(function (evt) {
if (typeof pre[evt] === 'undefined') {
pre[evt] = 0
}
pre[evt] += evtObj[evt].length
})
return pre
}, {})
結果是這樣的:
{
touchstart: 6,
error: 2,
click: 3249,
longpress: 2997,
tap: 2997,
touchmove: 4,
touchend: 4,
touchcancel: 4,
load: 1
}
還有很多其他信息,你可以從這個API獲得。只是即興而已。
看看這個問題:http://stackoverflow.com/q/446892/206403 – 2012-04-23 16:11:18
這個答案[Andrew Hedges] [1]可能會幫助你。 [1]:http://stackoverflow.com/questions/446892/how-to-find-event-listeners-on-a-dom-node – luso 2012-04-23 16:11:19
@luso:當發佈評論,降價語法略有不同(單擊文本框右側的「幫助」按鈕)。 – 2012-04-23 16:12:39