您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

鼠标离开浏览器窗口时的Javascript事件[重复]

鼠标离开浏览器窗口时的Javascript事件[重复]

可以通过在mouSEOut事件期间检查relatedTarget属性来干净地完成此操作。如果relatedTarget不是文档的子级,则鼠标刚离开窗口。自己做起来很容易,但是如果您不想这样做,则某些库(Mootools,将来的Prototype..)具有内置功能,而另一些(当前Prototype)具有扩展可用。在IE上,您可以改用mouseleave,这是mouSEOut的非冒泡版本。

细节:

IE具有名为mouseenter和mouseleave的事件,它们是mouSEOver和mouSEOut的非冒泡版本。其他浏览器则不会,但是如果这样做,则在窗口或文档上设置mouseleave侦听器可以解决问题。

一位名叫肯·斯奈德(K??en Snyder)的绅士前来救援:

鼠标悬停时,relatedTarget属性引用指针所来自的节点。在mouSEOut上,relatedTarget属性引用指针所指向的节点。在任何事件上,作用域是事件附加到的节点。当relatedTarget不是currentTarget的子代时,mouSEOver事件等效于mouseenter事件和mouSEOut事件等效于mouseleave事件。

- http://kendsnyder.com/archives/6-MouseEnter-and- MouseLeave.html

这使得在其他浏览器中实现mouseenter和mouseleave成为可能。实际上,Ken为此提供了相同的Prototype代码http ://kendsnyder.com/sand@R_348_2419@/enterleave/MouseEnterLeave.js

Duroth在评论中指出MooTools已经包含类似的东西。(感谢Duroth。)听起来好像即将发布的Prototype版本(1.6.2)可能包含此功能,但我找不到任何确定的东西。

javascript 2022/1/1 18:14:06 有610人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶