特定のDOMノードにどのイベントハンドラが接続されているかを調べる方法はありますか?DOMノードにどのイベントハンドラが接続されていますか?
たとえば、[コメントを追加]リンクをクリックすると、コメントフォームが表示されたイベントハンドラがアタッチされます。今、DOM文書(Webページ)があり、特定のノードのすべてのイベントハンドラをリストしたい場合、これを行う方法はありますか?あなたが選択した場合添付イベントリスナーを表示することができます
特定のDOMノードにどのイベントハンドラが接続されているかを調べる方法はありますか?DOMノードにどのイベントハンドラが接続されていますか?
たとえば、[コメントを追加]リンクをクリックすると、コメントフォームが表示されたイベントハンドラがアタッチされます。今、DOM文書(Webページ)があり、特定のノードのすべてのイベントハンドラをリストしたい場合、これを行う方法はありますか?あなたが選択した場合添付イベントリスナーを表示することができます
クロム(と私はサファリを疑う);
は(このデータにアクセスすることがFFでブラウザ拡張を行う?私はそれはJSがページ内で実行されていることは不可能だと思われます)要素を右クリックし、右側のサイドバーをスクロールして[イベントリスナー]セクションに移動します。そこには、どの機能が接続されているかがわかります。
私は現時点でFirebugのコピーを持っていませんが、Firefoxでも同様の情報を表示するDOMタブがあると思われます。 Chromeの場合
:
これは、その要素にどのイベントハンドラが接続されているかを示します。
(Krofの答えがより明確に書かれている可能性があります。)
Chromeの場合、あなたはgetEventListeners
を使用することができます。 getEventListeners($0)
オブジェクトのイベント名をハンドラにマッピングするオブジェクトを返す必要があります。 $0
はspecial dev tools variableであり、常に「要素」タブで最後に選択された要素を指しています。
イベントリスナータブの表示と異なる応答です。どうして? – UserControl
うーん、それは良い質問です。何も思いつきません。 – Xavi
この質問を見てください:http://stackoverflow.com/questions/446892/how-to-find-event-listeners-on-a-dom-node – McStretch
@McStretch:役に立つ、ありがとう。以前はこれを見つけられませんでしたが、重複してこれを閉じるように投票しました。 – Piskvor