如何在jQuery中解绑“hover”?
2022-08-30 05:32:24
如何在jQuery中解绑“hover”?
这不起作用:
$(this).unbind('hover');
如何在jQuery中解绑“hover”?
这不起作用:
$(this).unbind('hover');
$(this).unbind('mouseenter').unbind('mouseleave')
或者更简洁地说(感谢格兰特@Chad):
$(this).unbind('mouseenter mouseleave')
实际上,jQuery文档比上面显示的链接示例具有更简单的方法(尽管它们可以正常工作):
$("#myElement").unbind('mouseenter mouseleave');
从 jQuery 1.7 开始,您还可以使用 $.on()
和 $.off()
进行事件绑定,因此要解除悬停事件的绑定,您将使用更简单、更整洁的:
$('#myElement').off('hover');
伪事件名称“hover”被用作“mouseenter mouseleave”的简写,但在早期的jQuery版本中处理方式不同;要求您明确删除每个文本事件名称。使用 now 允许您使用相同的速记删除两个鼠标事件。$.off()
编辑2016年:
仍然是一个流行的问题,所以值得提请注意@Dennis98在下面的评论中的观点,即在jQuery 1.9 +中,“悬停”事件被弃用,取而代之的是标准的“mouseenter mouseleave”调用。因此,您的事件绑定声明现在应如下所示:
$('#myElement').off('mouseenter mouseleave');