nsIEventListenerService でDOMイベントリスナを列挙する

nsIEventListenerService というXPCOMサービスを使うと、 XUL や HTML ドキュメント内のある要素に対してどんなDOMイベントリスナが追加されているかを調べることができます。以下は、 browser.xul にてFirefoxの「ホーム」ボタンに追加されたイベントリスナをエラーコンソールに列挙するサンプルです。

var els = Cc["@mozilla.org/eventlistenerservice;1"].
 getService(Ci.nsIEventListenerService);
var infos = els.getListenerInfoFor(document.getElementById("home-button"), {});
infos.forEach(function(info) {
Application.console.log(info.type + " => " + info.toSource());
});

nsIEventListenerService の getListenerInfoFor メソッドは、

TOYOTIRES トーヨー プロクセス R888R PROXES サマータイヤ 245/40R18 KYOHO 共豊 STEINER シュタイナー WX5 ホイールセット 4本 18インチ 18 X 8 +45 5穴 114.3 公式店舗

KOMINE(コミネ) コミネ EK-200 Carbon Protect E-Gloves Black 2XL【smtb-s】;カーゴネットF5517YC000;国産タイヤ・アルミホイール 新品 4本セット ◆ウェッズ レオニスWX Weds LEONIS WX◆225/55R18 18インチ (225/55-18)新品ブリヂストン ネクストリー バランス調整済み! パーツ

TOYOTIRES トーヨー プロクセス R888R PROXES サマータイヤ 245/40R18 KYOHO 共豊 STEINER シュタイナー WX5 ホイールセット 4本 18インチ 18 X 8 +45 5穴 114.3;乱人 サイドテーブル 特注カラー セカンド左 ニッサン ローレル C33系 1989年~;スズキ ワゴンR 24/9~ MH34S S170TD Ti2000 DOWN RS-R ローダウン サスペンション RSR;[JURAN] ジュラン シートレール 左用 SC3タイプ オデッセイ RB1 03.10~08.09 FF CVT車 ※代引不可 ※北海道・沖縄・離島は送料都度確認;ヘッドライト Headlamps For 2007 2008 2009 Altima 4-Door Sedan Headlights Left+Right 07 08 09 Headlamps for 2007 2008 Altima 4ドアセダンヘッドライトLeft + Right 07 08 09

ピレリ(PIRELLI)バイク用タイヤ DIABLO ROSSO CORSA II R 200/55 ZR 17 M/C (78W) TL (2907500), SUZUKI スズキ 純正 ALTO アルト ルーフエンドスポイラー シルキーシルバーメタリック (2016.12~仕様変更) 99000-99076-A3B , RS-R RSR ダウンサス DOWN グロリア Y31 N171DR リア, 15インチ サマータイヤ セット【適応車種:MRワゴン(MF21S)】HOT STUFF プレシャス アストM1 ブラック/レッドクリア 4.5Jx15ヨコハマ Sdrive ES03 165/50R15, WORKS CONNECTION ワークスコネクション ガード・スライダー エンジンケースガード KX250F RMZ250 【グレイス Grace】 ラグレイト 等にお勧め ダッシュボードマット ストライプ Aライン仕様 ダッシュマット 型式等:RL1 品番:GDM-STR

、引数で渡した要素のイベントリスナの情報を 、 nsIEventListenerInfo オブジェクトの配列として返します。さらに、各 nsIEventListenerInfo オブジェクトについて、 type プロパティでイベントリスナの種類(click, keypress, mousedown など)を調べたり 【S641-B】スクラムトラック [H25/9-H27/8][DG16T] ナチュラル ココア Bellezza ベレッツァ シートカバー 【セルスター】【CSD-600FHR】 ドライブレコーダー (フルHD 駐車監視機能付 日本製 国内生産三年保証付 レーダー探知機相互通信対応){CSD-600FHR[1150]}、 JavaScript のリスナであれば toSource() で内容を文字列化したりできます。ただし WINMAX(ウインマックス)ブレーキパッド ARMA ストリート AT2 ミツビシ ディアマンテ F46A/47A(4WD) リア用 【送料無料】 265/35R22 22インチ SUPER STAR スーパースター ピュアスピリッツ オークス 9J 9.00-22 YOKOHAMA ヨコハマ PARADA Spec-X サマータイヤ ホイール4本セット【YOsum18】 ブリヂストン NEXTRY ネクストリー サマータイヤ 165/65R15 HotStuff 軽量設計!G.speed P-01 ホイールセット 4本 15インチ 15 X 5.5 +43 4穴 100、 nsIEventListenerInfo オブジェクトはイベントリスナそのものではないので、 getListenerInfoFor で取得したイベントリスナを removeEventListener で削除する、といったことはできません。あくまでもデバッグ用です。

なお、

TOYOTIRES トーヨー プロクセス R888R PROXES サマータイヤ 245/40R18 KYOHO 共豊 STEINER シュタイナー WX5 ホイールセット 4本 18インチ 18 X 8 +45 5穴 114.3

、 nsIEventListenerService は Firefox 3.6 (Gecko 1.9.2) 以降で利用可能です。