首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >鼠标出时执行“悬停”的“jQuery”

问鼠标出时执行“悬停”的“jQuery”
EN

Stack Overflow用户
提问于 2014-04-26 00:03:34
回答 1查看 62关注 0票数 1

下面有一个在悬停时执行的函数,但在鼠标出时,它也会再次执行。有什么原因会这样吗?

代码语言:javascript
复制
  $(element).on('hover', '.item', function () {})
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-26 00:07:49

jQuery的hover事件是为在悬停的开始和结束时通知而设计的。当您使用它时,它会为mouseenter和mouseleave调用您的事件处理程序。

您可以在处理程序中签入event.type以查看事件触发时哪个事件正在触发,也可以切换到使用$(element).hover(fn1, fn2)并传递这两个函数。

来自jQuery .on文档()

在jQuery 1.8中不推荐,在1.9中删除:名称“悬浮”用作字符串“”的缩写。它为这两个事件附加了一个事件处理程序,处理程序必须检查event.type以确定事件是mouseenter还是mouseleave。不要将“悬停”伪事件名称与接受一两个函数的.hover()方法混为一谈。

因此,基本上,您不应该使用$(element).on('hover', ...);,而应该使用.hover()并传递两个事件处理程序,或者传递单个事件处理程序并检查event.type。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23304942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档