我想创建一个简单的脚本来检测用户鼠标是否离开窗口。已使用mouseout事件描述了解决方案here。此解决方案的问题在于,如果用户使用鼠标滚动,它也会触发操作。所以我在这段代码中添加了条件e.pageY < jQuery(window).scrollTop()
的额外条件:
addEvent(document, "mouseout", function(e) {
e = e ? e : window.event;
var from = e.relatedTarget || e.toElement;
if ((!from || from.nodeName == "HTML") && e.pageY < jQuery(window).scrollTop()) {
alert("left window");
}
});
除了Microsoft Edge之外,它在所有浏览器中都能正常运行。在Edge e.pageY中不需要0或-1,-2 ......与其他浏览器一样,但它将是50,34,...(取决于你移动鼠标的速度有多快)。
我想知道这个问题是否有任何简单的解决方案。