jQuery を使用して、要素にクリック ハンドラー、変更ハンドラー、または何らかの種類のイベント ハンドラーがバインドされているかどうかを判断することは可能ですか?
さらに、特定の種類のイベントに対してクリック ハンドラー (または任意の種類のイベント ハンドラー) がいくつあるか、またイベント ハンドラーにどのような関数が含まれているかを判断することは可能ですか?
ベストアンサー1
この情報はデータ キャッシュから取得できます。
たとえば、コンソール (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() );
});
});
もう一つの方法は、次のものを使うことですブックマークレットしかし、明らかにこれは実行時には役に立ちません。