0

我很好奇onmouseover当页面加载时鼠标悬停在相关图像上时是否可以触发事件?我不想移动鼠标任何东西(因此使用mousemove不会解决任何问题)。

我检查了这些早期的帖子:

当页面加载时鼠标悬停在元素上时jQuery触发鼠标悬停功能

使用 Javascript 加载页面时检测鼠标是否在元素上

第一个建议mousemove需要移动鼠标。另一个答案建议使用 JQuery 并且.load().hover()基本上利用了 Javascript 中的mouseoverandmouseout事件,因此没有给这个问题带来任何新的东西(在 JQuery 中什么都不能用简单的 Javascript 来完成,对吧?)

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


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

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

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


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

4

1 回答 1

0

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

于 2010-09-06T11:51:16.313 回答