【问题标题】:mouseover doesn't work when mouse doesn't move over a dynamic element当鼠标不在动态元素上移动时,鼠标悬停不起作用
【发布时间】:2014-08-13 11:35:53
【问题描述】:

我试图在鼠标触摸网站上的动态元素时触发一个事件,无论鼠标是否移动。

我面临的问题是我无法触发事件除非鼠标在动态元素上移动

这是一个小提琴,您只需将鼠标保持不动在动态方形元素的未来位置即可轻松复制它:

http://jsfiddle.net/rHZbt/1/

我正在尝试使用以下代码触发偶数:

$(document).on('mouseenter', '#demo', function(){
    alert("Entering in demo");
});

我知道有一种方法可以跟踪鼠标和元素的位置,但这听起来更像是一种 hack 或替代且复杂的方法,而不是解决问题的好方法。 当有很多物体出现时(10 - 40),这个解决方案听起来对机器来说是很多工作。

问题发生在:

  • 野生动物园
  • IE
  • 歌剧

在 Firefox 中它似乎工作正常。

【问题讨论】:

  • 我不关注这里似乎可以正常工作的问题
  • @Dale 你让鼠标不动吗?
  • 完全同意@Dale。您的代码有效
  • 没有.. 但是如果鼠标不移动怎么会发生悬停事件.. 您是否希望在没有任何交互的情况下实现这一点?
  • @Satpal,dale,我用无法按预期工作的浏览器更新了我的问题(主要是 Firefox 除外)

标签: javascript jquery mouse jquery-events mouseenter


【解决方案1】:

$(document).on('mouseout', '#demo', function(){ alert("Leaving demo"); });

这样,您可以在鼠标静止不动时获得警报。

【讨论】:

  • 它不适用于 Chrome、Opera、Safari 或 IE。与mouseenter 相同的问题,当元素被动态添加到 DOM 中或当鼠标静止时其位置发生变化。
猜你喜欢
  • 1970-01-01
  • 2018-03-04
  • 2019-01-12
  • 1970-01-01
  • 2018-06-28
  • 1970-01-01
  • 2015-04-04
  • 2015-08-08
  • 1970-01-01
相关资源
最近更新 更多