捕获事件悬停并停留而不是经过
有没有办法捕获鼠标悬停并停留(一段时间)事件,但如果鼠标经过元素则不能捕获。因此,仅当您悬停并停留时才会触发该事件。
Is there a way to capture a mouse hover and stay (for a while) event but not if the mouse is passing by the element. So the event will be fired only when you hover and stay.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
您可以使用
setTimeout
在执行任何代码之前创建延迟您需要clearTimeout
取消计时器当鼠标离开元素时:这是上述内容的工作示例。
You can use
setTimeout
to create a delay before executing whatever code you need to, andclearTimeout
to cancel the timer when the mouse leaves the element:Here's a working example of the above.
是的,有一个插件。我几乎在所有悬停代码中都使用它:
Yes, a plugin exists for it. I use it in almost all of my hover code:
有专门为此设计的 hoverIntent 插件。
There is the hoverIntent plugin designed just for this.
考虑使用 JavaScript 计时器,当鼠标悬停时开始计数。
当鼠标离开时,停止计时器。计时器可以触发一个事件,如果鼠标从未发生过关闭/离开,计时器将触发您的悬停/停留功能。
可能 JQuery 插件也适用于此。
Look into using a javascript timer, starts counting when mouse over.
When the mouse leaves, stop the timer. The timer can trigger an event, if the mouse off/leave never occurs, the timer will set off your hover/stay function.
Probably JQuery pluggins for this as well.
在鼠标输入时,计时器将在 500 毫秒后启动,您的函数将被调用
如果用户在延迟之前离开,计时器将被清除,因此该函数不会被调用。
希望这有帮助:)
On mouseenter a timer will start after 500ms yourFunction will be call
If the user leave before your delay, the timer will be cleared, so the function won't be called.
Hope this help :)