1. ホーム
  2. javascript

[解決済み] jQueryでイベントハンドラが要素にバインドされているかどうかをテストする [重複] 。

2022-04-21 06:25:52

質問

ある要素にクリックハンドラやチェンジハンドラなど、何らかのイベントハンドラがバインドされているかどうかを、jQueryを使って判断することは可能でしょうか?

さらに、ある種類のイベントに対していくつのクリックハンドラ(または任意の種類のイベントハンドラ)を持っているか、またイベントハンドラにどんな関数があるかを判断することは可能でしょうか?

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

データキャッシュから取得することができます。

例えば、コンソール(firebug, ie8)にログを記録します。

console.dir( $('#someElementId').data('events') );

またはそれを反復する。

jQuery.each($('#someElementId').data('events'), function(i, event){

    jQuery.each(event, function(i, handler){

        console.log( handler.toString() );

    });

});

もう一つの方法は、次のように使うことです。 ブックマークレット が、明らかに実行時には役に立ちません。