当鼠标离开 <body>
时,我需要显示我的弹出窗口,这确定了退出意图。
因此,当我的客户输入他们的电子邮件时,弹出窗口只是在他们的指针位于建议上方的那一刻出现,而且它不应该发生。但是它发生是因为这部分不在DOM中,所以它触发了鼠标离开
但是,当鼠标悬停在浏览器上的 native 输入建议上时会触发此事件(我在 Firefox 和 Chrome 上进行了测试)。
所以,任何想法我怎么能跳过这个假触发器 ?
document.body.onmouseleave = function(e) {
console.log("mouse leave was trigged")
}
看看发生了什么 :
最佳答案
我遇到了同样的问题,通过查看究竟是什么触发了 mouseleave 事件来解决它。因此,如果它不是您表单中的输入字段,您可以继续并显示您的弹出窗口
$('body').on('mouseleave', function (e) {
if ('INPUT' !== e.target.nodeName) {
// do your stuff
}
});
关于javascript - mouseLeave 在 native 输入自动填充时触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47928052/