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);
});

但它不起作用。我需要对任何被点击的人做这件事。这可能是从一个到所有被点击。

有什么想法吗?

4

3 回答 3

0

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

甚至更好

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

于 2012-07-13T23:44:54.247 回答
0

真正简单的解决方案。我没有找到删除悬停属性的令人满意的方法,因此我重新配置了代码测试是否选中了复选框,如果选中,则错过调用与复选框相关的位置列表的代码。

于 2012-07-18T22:57:55.147 回答
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 回答