我正在尝试删除组中单击的复选框上的“悬停”功能。我可以通过以下方式在组中的所有复选框上执行此操作:
$(document).off('hover', '.myClass .leftSpan');
有没有办法从点击的复选框中删除它?
'hover'功能将悬停放在首位,点击是为了开始填充记录集但我想:
$(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);
});
但它不起作用。我将需要对任何被点击的人这样做。这可能是从一个点击到全部点击。
任何想法?
答案 0 :(得分:0)
您可以使用命名空间事件,它会更容易,更易读。
var myhover = function () { ... }
$(document).on('hover.myhover', '.myClass .leftSpan', myhover) //on
$(document).off('hover.myhover') //off
在任何情况下,除非您的元素是body
的直接子元素,否则您应该使用最接近的静态父级而不是document
来获得最佳性能。
答案 1 :(得分:0)
$(document).off("hover", ".myClass:checked");
?
甚至更好
$(".myClass:checked").off("hover")
答案 2 :(得分:0)
真正的简单解决方案。我没有找到一种令人满意的方法来删除悬停属性,所以我重新配置了代码测试,如果选中了复选框,如果是,则错过调用与复选框相关的位置列表的代码。