如何检查鼠标是否在javascript中的元素上?

时间:2012-04-24 21:49:55

标签: javascript

当鼠标悬停在元素上时,我的网站会创建一个工具提示。当鼠标停留在元素上方时,会调用mouseout事件,删除工具提示,并且全部都是正确的。除此之外,用户有时会快速移动鼠标,以至于在创建工具提示时,鼠标不再位于元素内部。这意味着工具提示不会消失,除非用户将鼠标移除并将鼠标移出元素。

我的解决方案是,在创建工具提示后,检查鼠标是否在所需元素上,如果不是,则删除它。不幸的是我不知道如何。

我尝试了these解决方案,但它们都需要鼠标移出事件才能工作。我错过了什么,或者是否有另一种(希望更好的)方法来查找鼠标当前是否未超过元素?

1 个答案:

答案 0 :(得分:2)

听起来好像浏览器正在抛出MouseOut事件,而你忽略了它们。考虑将MouseOut事件默认绑定到处理程序,即使您尚未设置工具提示。

我希望每次MouseIn事件都有一个MouseOut事件。如果在规范或特定浏览器中不是这种情况,则会出现问题。在这种糟糕的情况下,您可以在一秒钟之后取消工具提示。