2011-06-26 54 views
1

因此,如果您在悬停事件上附加了某些功能,则在页面加载过程中鼠标已经位于悬停区域内并且未移动时,它将不会触发。您实际上必须将鼠标移动一点才能触发事件。jQuery悬停事件未在悬停时触发

实施例:

  • 移动鼠标悬停效果区域
  • 击鼠标用斧头
  • 重新加载与F5的页面

=>悬停功能不会激发:(

为什么?

有没有修复?

+2

这里贴的一些相关代码不会伤害我们的感受;) –

+0

ax? AFAIK,这是正常的行为。它造成什么问题? –

回答

1

这是预期的功能,悬停只是“mouseOver”和“mouseOut”的组合,所以如果您的光标在页面加载时位于元素上方,它从未在技术上移过元素。不幸的是,如果没有鼠标的移动,JavaScript就无法确定鼠标的位置或当前结束的元素。

+1

链接和CSS:悬停不表现这种方式 –

+0

CSS和JavaScript是不同的动物,jquerys“悬停”只是最接近的CSS“悬停”,可能与JavaScript – Trey

+0

那么,有[document.elementFromPoint]( https://developer.mozilla.org/en/DOM/document.elementFromPoint)。现在你只需要鼠标坐标。从负载事件也许,如果这个事件甚至有clientX,clientY? –