js取消hover事件,jquery取消默认事件
本文的运行环境:windows7系统,jquery3.2.1版本3.2.1,DELL G3电脑
jquery怎么取消hover事件?
jquery中取消和绑定hover事件的正确方式
在web设计中,我们经常使用jquery来响应鼠标悬停事件,效果和mouseover、mouseout事件一样,但是如何使用bind来绑定悬停方法呢?如何用unbind解除事件绑定?
一、如何绑定hover事件
先看下面的代码。假设我们将一个点击和悬停事件绑定到A标签:
$(文档)。ready(function(){ $(a )。bind({ hover: function(e) { //
悬停事件处理程序警报(“悬停”);},点击:函数(e) { //点击
事件处理程序警报(“单击”);} });});当点击A选项卡时,奇怪的事情发生了,其中绑定的悬停事件完全没有响应,但绑定的点击事件可以正常响应。
但是如果你用另一种方式写,比如:
$(a )。hover(function(){ alert( mouse over );},function(){
alert(“mouseout”);})这段代码可以正常运行。不能绑定悬停?
实际上,我们应该使用mouseenter和mouseleave来代替,(这也是在。hover()函数)。
所以可以这样直接引用:
$(文档)。ready(function(){ $(a )。bind({ mouse enter:function(e){//
悬停事件处理程序警报(“鼠标悬停”);},mouseleave:函数(e) { //
悬停事件处理程序警报(“mouseout”);},点击:函数(e) { //点击
事件处理程序警报(“单击”);} });});因为。hover()是jQuery自己定义的事件,它只是为了方便用户绑定和调用mouseenter和mouseleave事件。它不是一个真实的事件,所以当然不能在。绑定()。
二、如何取消hover事件
我们都知道,可以使用unbind函数取消绑定的事件,但是只能取消bind绑定的事件。jquery中的悬停事件比较特殊,如果这样绑定事件,就无法取消。
$(a )。hover(function(){ alert( mouse over );},function(){
alert(“mouseout”);})解除悬停事件绑定的正确方法:
$(a )。取消绑定( mouseenter )。unbind( mouse leave );三、总结
其实这些问题可以参考jquery的官方文档,但是很少有人看过。网上的教程大多只是讲解如何使用这种方法,从而达到目的,并没有深入了解为什么要写?
推荐:以上《jquery视频教程》是jquery如何取消悬停事件的细节。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。