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獲得。只是即興而已。
你不能使用源代碼面板:https://developer.chrome.com/devtools/docs/javascript-debugging? – arnolds 2015-02-06 13:28:40
[VisualEvent](https://github.com/DataTables/VisualEvent) - _Visual Event是一個Javascript小書籤,提供有關已附加到DOM元素的事件的調試信息。 Visual Event顯示:哪些元素具有附加的事件,附加到元素的事件類型,將觸發事件的代碼,附加函數定義位置的源文件和行號(Webkit瀏覽器和歌劇)_ – Andreas 2015-02-06 13:43:58
感謝您的建議和意見。我已經嘗試過了。看起來它只抓取DOM級別0和1類型的事件,而不是事件偵聽器。 – 2015-02-06 13:47:52