我想创建一个简单的脚本来检测用户鼠标是否离开窗口。解决方案已在此处通过使用 mouseout 事件进行了描述。这个解决方案的问题是,如果用户使用鼠标滚动,它也会触发动作。e.pageY < jQuery(window).scrollTop()
所以我在这段代码中添加了额外的 if 条件:
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,... (取决于您移动鼠标的速度)。
我想知道这个问题是否有任何简单的解决方案。