APIgetEventListeners
を使用して、すべてのイベントの情報を取得するだけです。このリンクを参照してくださいChrome開発ツール:ページで使用されているすべてのイベントリスナーを表示します
この回答の内容:
ChromeDevtoolではこれを行うことはできません。しかし、あなたはあなたのコンソールでそれらを調べることができますAPIchromeは以下を提供します:getEventListeners
このコードをdev-toolのコンソールに配置するだけで、ページ内のすべてのバインディングクリックイベント番号を取得できます。
Array.from(document.querySelectorAll('*'))
.reduce(function(pre, dom){
var clks = getEventListeners(dom).click;
pre += clks ? clks.length || 0 : 0;
return pre
}, 0)
結果は次のようになります。
3249
それはそこにたくさんのクリックバインディングでした。パフォーマンスのためのプロジェクトの良い例ではありません。
ページ内のすべての要素でバインドされているイベントと、各イベントのリスナーの数を確認する場合は、次のコードをdev-toolのコンソールに配置するだけです。
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から取得できる他の多くの情報。ただ即興。