我有一个图像,我想在鼠标悬停时触发某些行为,我有一个 mouseover 和 mouseout 方法,但是如果您在页面加载时碰巧将鼠标悬停在图像上,则 mouseover 方法永远不会触发直到您离开图像并返回。
有没有一种方法可以检测鼠标是否在运行中位于元素上,而无需鼠标离开元素,然后移至元素上以触发 JS 鼠标悬停事件?比如在 Javascript 中是否有 document.getElementById("blah").mouseIsOver() 类型的函数?
最佳答案
我相信这无需用户采取任何行动即可实现。当您的页面加载时,将 mouseover
事件绑定(bind)到您的图像并隐藏您的图像(即使用 CSS display:none
)。使用 setTimeout()
在几毫秒后再次显示它(10 应该足够了)。偶数应该被解雇。
如果您不想在您的图像上造成“轻弹”效果,您可以尝试使用一些临时元素,将事件附加到它,并将该事件委托(delegate)给您的图像。
我不知道这是否是跨浏览器的解决方案,但它在我的 Firefox 3.0 控制台上有效;)
关于javascript - 使用 Javascript 加载页面时检测鼠标是否在元素上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1521443/