当鼠标离开<body>
时,我需要显示弹出窗口,这表示退出意图。
因此,当我的客户正在键入他们的电子邮件时,弹出窗口就会出现在他们的指针超过建议的确切时刻,并且它不会发生。但它发生是因为这部分不在DOM中,所以它会触发鼠标离开
但是,当鼠标超过浏览器上的本机输入建议时(我在Firefox和Chrome上测试过),会触发此事件。
那么,任何想法如何跳过这个假触发器?
document.body.onmouseleave = function(e) {
console.log("mouse leave was trigged")
}
看看会发生什么:
答案 0 :(得分:0)
我遇到了同样的问题,通过查看究竟是什么触发了 mouseleave 事件来解决它。因此,如果它不是您表单中的输入字段,您可以继续并显示您的弹出窗口
$('body').on('mouseleave', function (e) {
if ('INPUT' !== e.target.nodeName) {
// do your stuff
}
});