下面有一个在悬停时执行的函数,但在鼠标出时,它也会再次执行。有什么原因会这样吗?
$(element).on('hover', '.item', function () {})发布于 2014-04-26 00:07:49
jQuery的hover事件是为在悬停的开始和结束时通知而设计的。当您使用它时,它会为mouseenter和mouseleave调用您的事件处理程序。
您可以在处理程序中签入event.type以查看事件触发时哪个事件正在触发,也可以切换到使用$(element).hover(fn1, fn2)并传递这两个函数。
在jQuery 1.8中不推荐,在1.9中删除:名称“悬浮”用作字符串“”的缩写。它为这两个事件附加了一个事件处理程序,处理程序必须检查event.type以确定事件是mouseenter还是mouseleave。不要将“悬停”伪事件名称与接受一两个函数的.hover()方法混为一谈。
因此,基本上,您不应该使用$(element).on('hover', ...);,而应该使用.hover()并传递两个事件处理程序,或者传递单个事件处理程序并检查event.type。
https://stackoverflow.com/questions/23304942
复制相似问题