为了账号安全,请及时绑定邮箱和手机立即绑定

mouseleave事件在鼠标快速移动的情况下导致执行异常,寻找解决思路?

mouseleave事件在鼠标快速移动的情况下导致执行异常,寻找解决思路?

BIG阳 2018-10-10 13:25:28
需求描述:如题,当鼠标mouseover指定容器时,程序append一个div到body中,当鼠标mouseleave的时候,程序把这个div删除。异常情况:当我们快速移动鼠标时,mouseleave事件会执行异常,新建的元素没有删除,始终出现在屏幕上,比较困惑的是,这个没有被删除的元素,是mouseleave中没有删除呢,还是mouseleave事件执行后,又新建的理想情况:鼠标离开后,保证新建的div被删除伪代码如下:$(element).mouseover(function(e){     $('body').append(div); }) $(element).mouseleave(function(e){     $(div).remove(); })
查看完整描述

1 回答

?
慕的地8271018

TA贡献1796条经验 获得超4个赞

<body>

    <p id="p">testEl</p>

    <script>

        var element = $("#p")

        var div = document.createElement("div");

        $(element).mouseover(function(e){

            $('body').append(div);

            console.log(1)

        })

        $(element).mouseleave(function(e){

            $(div).remove();

            console.log(2)

        })

    </script>

</body>


按照这样尝试、没遇到题主说的问题啊、1和2都是交叉打印的、如何还原场景呢


查看完整回答
反对 回复 2018-11-16
  • 1 回答
  • 0 关注
  • 1184 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信