1. ホーム
  2. javascript

[解決済み] 任意の DOM 要素にアタッチされたイベントハンドラの検査

2022-10-30 10:24:32

質問

DOM 要素の任意のイベントにアタッチされている関数/コードを表示する方法はありますか?Firebugまたは他のツールを使用して。

どのように解決するのですか?

イベントハンドラを従来の element.onclick= handler または HTML <element onclick="handler">element.onclick プロパティから取得できます。

DOM Level 2 イベントを使用してアタッチされたイベントハンドラ addEventListener メソッドと IEの attachEvent は、現在スクリプトからまったく取得できません。かつて DOM Level 3 が提案した element.eventListenerList で全てのリスナーを取得することを提案しましたが、これが最終的な仕様になるかどうかは不明です。現在、どのブラウザにも実装されていません。

ブラウザの拡張機能としてのデバッギングツール が可能です。 はこの種のリスナーにアクセスできますが、実際にアクセスできるものを私は知りません。

いくつかのJSフレームワークは、イベントバインディングの十分な記録を残し、彼らが何をしていたかを調べます。 ビジュアル イベント は、いくつかの人気のあるフレームワークを通して登録されたリスナーを発見するために、このアプローチを取ります。