jquery如何删除hover事件

这篇文章主要介绍了jquery如何删除hover事件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇jquery如何删除hover事件文章都会有所收获,下面我们一起来看看吧。

在jquery中,可以利用unbind()方法来删除hover事件;但不能直接使用“unbind("hover")”语句,因为hover是由mouseenter和mouseleave构成的,所以要删除hover效果,只需要移除这两个事件即可,语法“元素对象.unbind("mouseenter").unbind("mouseleave")”。

遇到jquery需要去掉hover的问题,原以为直接unbind("hover")就可以搞定,可是搞了半天都不行。

$("button").click(function() {
	$("p").unbind("hover");
});

jquery如何删除hover事件  jquery 第1张

原因其实很简单,hover并不是事件。打开参考手册,hover其实由 mouseenter和mouseleave构成的。这样问题就很明了!

/* 这种方法是错误的 */
$(#hover_div).unbind("hover");

/* 这种方法也是错误的 */
$(#hover_div).unbind("mouseover").unbind("mouseout");

/* 这种方法是新增的,在老的版本里是无法使用的 */
$(#hover_div).unbind("mouseenter mouseleave");

/* 这种方法正确的,新老版本皆可用 */
$(#hover_div).unbind("mouseenter").unbind("mouseleave");

上面的代码建议使用第四种,相对安全些。

使用示例:

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<script src="js/jquery-3.6.1.min.js"></script>
		<script>
			$(document).ready(function() {
				$("p").hover(function() {
					$("p").css("background-color", "yellow");
				}, function() {
					$("p").css("background-color", "pink");
				});

				$("button").click(function() {
					$("p").unbind("mouseenter").unbind("mouseleave");
				});
			});
		</script>
	</head>
	<body>

		<p>鼠标移动到该段落。</p>
		<button>删除hover</button>
	</body>
</html>

jquery如何删除hover事件  jquery 第2张

说明:unbind()方法

unbind() 方法能够移除所有的或被选的事件处理程序,或者当事件发生时终止指定函数的运行。

该方法也可以通过 event 对象取消绑定的事件处理程序。该方法也用于对自身内部的事件取消绑定(比如当事件已被触发一定次数之后,删除事件处理程序)。

关于“jquery如何删除hover事件”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“jquery如何删除hover事件”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注蜗牛博客行业资讯频道。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

评论

有免费节点资源,我们会通知你!加入纸飞机订阅群

×
天气预报查看日历分享网页手机扫码留言评论电报频道链接