Jquery 如何禁用未绑定事件
我正在使用unbind禁用悬停事件,然后想再次启用它。 怎么做Jquery 如何禁用未绑定事件,jquery,Jquery,我正在使用unbind禁用悬停事件,然后想再次启用它。 怎么做 $(document).ready(function () { if(localStorage.getItem('options')=='disable'){ $(".pasteOptions").unbind('hover',handler); } }) var handler = function() { alert('hi'); }; $(document).on('click','.copyOp
$(document).ready(function () {
if(localStorage.getItem('options')=='disable'){
$(".pasteOptions").unbind('hover',handler);
}
})
var handler = function() {
alert('hi');
};
$(document).on('click','.copyOptions',function () {
$('.pasteOptions').bind('hover',handler);
})
它不起作用 问题在于没有DOM事件
悬停
——只有鼠标指针
和鼠标移动
您也可以使用jquery.hover
,但不能将其与.on
/.off
一起使用
更改为mouseenter mouseleave
将为您提供:
//以启用悬停开始,这样.off会执行某些操作
$('.pasteOptions')。悬停(处理程序);
$(文档).ready(函数(){
//关闭悬停
$(“.pasteOptions”).off('mouseenter mouseleave');
})
$(文档).on('单击','.copyOptions',函数(){
//打开悬停按钮
//(注意:请先将其关闭,否则每次单击都会出现多个事件,
//通常情况下,您不会这样做,它会切换到一个勾选框或类似选项
$(“.pasteOptions”).off('mouseenter mouseleave');
$('.pasteOptions')。悬停(处理程序);
})
var handler=function(){
//悬停做某事
$(this.toggleClass(“悬停”);
};
.pasteOptions.copyOptions{高度:100px;宽度:100px;边框:1px纯蓝色;}
.hover{边框:1px纯红色;}
点击我
将鼠标悬停在我身上
你到底想做什么?什么不起作用?我想在.pasteOptions上禁用鼠标悬停事件,然后在单击.copyOptions时启用它。你的问题是没有一个悬停
事件。你可以使用鼠标悬停
来模拟它,或者你可以使用鼠标悬停(func)
。还请注意,.bind/.unbind在2011年被弃用,并在2016年被删除。因此,您可能还希望包括您正在使用的jquery的古老版本。