Fab*_*lva 6 html javascript browser dom dom-events
我需要在鼠标离开时显示弹出窗口<body>,这标识了退出意图。
因此,当我的客户输入电子邮件时,弹出窗口恰好在他们的指针悬停在建议上方时出现,而这种情况本不应该发生。但会发生这种情况是因为这部分不在DOM中,所以触发了鼠标离开
但是,当鼠标悬停在浏览器上的本机输入建议上时会触发此事件(我在 Firefox 和 Chrome 上进行了测试)。
那么,有什么想法可以跳过这个假触发器吗?
document.body.onmouseleave = function(e) {
console.log("mouse leave was trigged")
}
Run Code Online (Sandbox Code Playgroud)
看看发生了什么:
小智 2
我遇到了同样的问题,通过查看到底是什么触发了 mouseleave 事件来解决它。因此,如果它不是表单中的输入字段,您可以继续并显示弹出窗口
$('body').on('mouseleave', function (e) {
if ('INPUT' !== e.target.nodeName) {
// do your stuff
}
});
Run Code Online (Sandbox Code Playgroud)