jQuery にイベントが存在するかどうかを確認する方法はありますか? カスタム名前空間イベントを使用するプラグインを作成しており、イベントが要素にバインドされているかどうかを確認できるようにしたいと考えています。
ベストアンサー1
$('body').click(function(){ alert('test' )})
var foo = $.data( $('body').get(0), 'events' ).click
// you can query $.data( object, 'events' ) and get an object back, then see what events are attached to it.
$.each( foo, function(i,o) {
alert(i) // guid of the event
alert(o) // the function definition of the event handler
});
オブジェクト参照 (jQuery オブジェクトではありません) を $.data に渡し、2 番目の引数に 'events' を渡して検査すると、'click' などのすべてのイベントが設定されたオブジェクトが返されます。そのオブジェクトをループして、イベント ハンドラーが何を行うかを確認できます。