0

グループ内のクリックされたチェックボックスの「ホバー」機能を削除しようとしています。グループ内のすべてのチェックボックスで次の方法で実行できます。

$(document).off('hover', '.myClass .leftSpan');

クリックしたチェックボックスから削除する方法はありますか?

'ホバー'関数は、最初にホバーをそこに置きます。クリックは、レコードセットの入力を開始することを目的としていますが、次のようにします。

$(document).on('hover', '.myClass .leftSpan', function () {
    var parID = $(this).prev('input').prop('id')
    $('#lblOutput').text(parID);
    GetSites(parID, 'false');
    GetGroupMetadataFromGroupID(parID);
});

これはクリック機能です:

$(document).on('click', '.myClass .leftSpan', function () {
    var parID = $(this).prev('input').prop('id')
    $('#lblOutput').text(parID);
    GetSites(parID, 'false');
    GetGroupMetadataFromGroupID(parID);
    $(document).off('hover', parID);
});

しかし、それは機能しません。クリックされたものすべてにそれを行う必要があります。これは、1つだけからすべてがクリックされるまでの可能性があります。

誰かアイデアはありますか?

4

3 に答える 3

0

名前空間付きのイベントを使用すると、より簡単で読みやすくなります。

var myhover = function () { ... }
$(document).on('hover.myhover', '.myClass .leftSpan', myhover) //on
$(document).off('hover.myhover') //off

いずれにせよ、要素が直接の子でない限り、最高のパフォーマンスを得るbody代わりに、最も近い静的な親を使用する必要があります。document

于 2012-07-13T23:42:39.600 に答える
0

$(document).off("hover", ".myClass:checked");

またはさらに良い

$(".myClass:checked").off("hover")

于 2012-07-13T23:44:54.247 に答える
0

本当に簡単な解決策。ホバー属性を削除するための十分な方法が見つからなかったため、チェックボックスがオンになっている場合はコードテストを再構成し、チェックボックスがオンになっている場合は、チェックボックスに関連する場所のリストを呼び出すコードを見逃しました。

于 2012-07-18T22:57:55.147 に答える