JQuery Mouseleave触发错误的元素

时间:2017-10-27 18:35:00

标签: javascript jquery

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



$(document).ready(function ($) {
    $(document).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");
        }
    });
});




这一切都很好,除非我点击事件发生的文档页脚中的某些表单字段,导致弹出窗口显示。

我无法弄清楚为什么会发生这种情况,因为退出模式的选择器位于文档上而不是输入

任何想法的人?

1 个答案:

答案 0 :(得分:1)

尝试在div的整个范围内放置一个HTML,以便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>