Javascript 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(“数据模态显示”,“真”); } }); })

我已经使用Jquery mouseleave事件实现了我的站点的退出弹出窗口,如下所示:

$(文档).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标记中起了很大的作用