当页面加载不触发onmouseover事件时鼠标位于图像上方

时间:2010-09-06 11:44:10

标签: javascript mouseover onmouseover

我很好奇是否有可能在页面加载鼠标悬停在相关图片上时发生onmouseover事件?我不想将鼠标移动任何东西(因此使用mousemove将无法解决任何问题)。

我已查看过这些早期帖子:

jQuery trigger mouseover function when page loads with the mouse over the element

Detect if mouse is over an element when page loads with Javascript

第一个建议mousemove需要移动鼠标。另一个答案表明使用JQuery和.load()以及.hover()基本上使用了Javascript中的mouseovermouseout事件,因此没有带来任何新问题(没有可以在JQuery中完成,无法在简单的Javascript中完成吗?)

第二篇文章建议,除了mousemove之外,一个函数通过CSS display属性使图像在加载后消失,然后重新出现在同一个地方,因此根据海报,制作mouseover事件火灾。但是,当我这样做时,它不会触发,无论是在当前版本的Firefox(3.6)还是测试人员使用的3.0版本中(我不知道他是否真的让它工作或者不是,但我相信我正确地理解他了。第二个帖子的最后一张海报表明它无法完成,因为页面需要知道光标所在的位置,如果你不移动鼠标就不能这样做,也许这是真正的答案?


在Explorer 8中,这个东西以某种方式被修复,因为例如NEXT按钮继续显示它的onmouseover图像而不是当页面重新加载并且鼠标停留在其上时切换回其“关闭”按钮图像没有移动。但是,其他浏览器都没有此功能。

我意识到这个问题很容易通过使用Javascript而不是重新加载整个页面来修复,从而保持按钮上的onmouseover图像位于未更新的页面的一部分上,但我很好奇正如我所说,没有这个是否可能。

此外,与focus混合并在图像周围的锚标记中设置onfocus属性也可以解决问题,但不完全是因为那时现在的风险是鼠标光标在重新定位期间加载新页面,然后通过按下的按钮上的锚标记保持焦点,使其使用“on”按钮将是一个坏主意。


那么,有没有办法检测当页面加载时鼠标是否位于图像上而鼠标不移动甚至是像素?或者这是不可能的?

1 个答案:

答案 0 :(得分:0)

我不相信这是可能的,因为浏览器根据鼠标移动确定mouseover事件。 CSS :hover伪类也不会在我的测试中触发。