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

cmc*_*loh 5 javascript

我有一个图像,我希望在鼠标结束时触发某些行为,我有鼠标悬停和mouseout方法,但如果你在页面加载时碰巧将鼠标放在图像上,鼠标悬停方法永远不会触发,直到你离开图像然后回过头来.

有没有办法检测鼠标是否在动态元素上,而鼠标不必离开元素,然后越过元素触发JS鼠标悬停事件?就像Javascript中有document.getElementById("blah").mouseIsOver()类型函数一样?

wil*_*ard 4

我相信,无需用户采取任何操作,这是可能的。当您的页面加载时,将mouseover事件绑定到您的图像并隐藏您的图像(即使用 CSS display:none)。用于setTimeout()在几毫秒内再次显示它(10 应该足够了)。甚至应该被解雇。

如果您不想在图像上造成“轻弹”效果,您可以尝试使用一些临时元素,将事件附加到其上,并将事件委托到您的图像上。

我不知道这是否是跨浏览器解决方案,但它可以在我的 Firefox 3.0 控制台上运行;)