Javascript JQuery Mouseleave在错误的元素上触发
我已经使用Jquery mouseleave事件实现了我的站点的退出弹出窗口,如下所示:Javascript JQuery Mouseleave在错误的元素上触发,javascript,jquery,Javascript,Jquery,我已经使用Jquery mouseleave事件实现了我的站点的退出弹出窗口,如下所示: $(文档).ready(函数($){ $(文档).mouseleave(函数(){ var modal=$(“.bd exit modal lg”); var modalShown=$(模态).attr(“显示的数据模态”) if(modalShown==“false”){ $(modal.modal('show').fadeIn(); $(模态).attr(“数据模态显示”,“真”); } }); })
$(文档).ready(函数($){
$(文档).mouseleave(函数(){
var modal=$(“.bd exit modal lg”);
var modalShown=$(模态).attr(“显示的数据模态”)
if(modalShown==“false”){
$(modal.modal('show').fadeIn();
$(模态).attr(“数据模态显示”,“真”);
}
});
});
尝试在整个HTML
周围放置一个更高级别的div
,这样您的mouseleave
函数将有一个更具体的目标:
<div id="entire-html-doc">
your other HTML here
</div>
<script>
$(document).ready(function ($) {
$('#entire-html-doc').mouseleave(function () {
var modal = $(".bd-exit-modal-lg");
var modalShown = $(modal).attr("data-modal-shown")
if (modalShown == "false") {
$(modal).modal('show').fadeIn();
$(modal).attr("data-modal-shown", "true");
}
});
});
</script>
你的另一个HTML在这里
$(文档).ready(函数($){
$(“#整个html文档”).mouseleave(函数(){
var modal=$(“.bd exit modal lg”);
var modalShown=$(模态).attr(“显示的数据模态”)
if(modalShown==“false”){
$(modal.modal('show').fadeIn();
$(模态).attr(“数据模态显示”,“真”);
}
});
});
您正在将mouseleave
附加到文档中,当然它会在每个元素上激发。@Teemu,并非如此,它主要是在快速单击输入时工作的,导致事件触发。如果我慢慢地做同样的事情,它工作得很好。非常感谢你的回答,我想补充一点,当使用滚动条时,将它添加到body标签会触发退出。然而,将它添加到HTML标记中起了很大的作用