0

私のjsコードには次のようなものがあります...

    a.off('mouseover').on('mouseover', function() {
        overlayTrigger(this);
    });
    a.off('click').on('click', function() {
        overlayTrigger(this, true);
    });

その後、マウスのクリック中に、それらを削除します。

    $(obj).off('mouseover');
    $(obj).off('mouseout');

しかし、次のマウスクリックが必要です。これらのハンドルがオフになっている場合は、再度有効にしたいです...ただし、「マウスオーバー」がオフになっているかどうかを確認する方法がわかりません...

キーワード「on」、「off」、「mouseover」は、私が欲しいものを見つける方法ではないため、Google で検索するのは少し難しいです... >.<

ヘルプ/ヒントをいただければ幸いです。:)

4

2 に答える 2

1

jQuery.data を使用して、オブジェクトにバインドされたイベントのリストを取得できます。

jQuery 1.8 以降を使用している場合は、以下を使用する必要があります。

jQuery の投稿はこちら。

$._data(elem, 'events');

elemjQuery オブジェクトまたはセレクターではなく、HTMLElement である必要がありますjQuery オブジェクトが既にある場合は、 replace elemwithを使用できますelem.get(0)

jQuery バージョン 1.8 未満:

$(elem).data('events');

これにより、イベントを含むオブジェクトが返されます。その後、それらが未定義かどうかを確認できます。

注: 要素にイベント ハンドラーがない場合、データはundefinedとして返されることに注意してください。

于 2013-06-20T21:43:24.643 に答える
0

それらを再度有効にしながら、これを行うことができます

$(obj).off('mouseover').on('mouseover',function(){...});
于 2013-06-20T21:12:38.750 に答える