dragenter和dragover区别

关于拖拽的问题有几个小疑问,希望各位朋友不吝赐教
https://developer.mozilla.org...
https://developer.mozilla.org...
所以我的理解是:dragenter和dragover类似,只不过dragover是触发多次

再看这个:https://developer.mozilla.org...
image.png

问题:
为什么我仅仅在dragover事件中阻止默认行为就可以完成拖拽,而仅仅在dragenter中阻止默认行为就无法完成拖拽,按照手册的说法是需要在两个事件中都阻止默认行为,而我个人的理解是在两个事件中的任何一个里阻止默认行为就可以完成拖拽,然而代码测试的结果和手册以及我个人的理解都对不上,请教各位

测试代码:

<style type="text/css">
        #drag {
            width: 100px;
            height: 100px;
            background: red;
        }

        #drag_to {
            width: 200px;
            height: 200px;
            border: 1px solid green;
        }

    </style>
<div draggable="true" id="drag">拖拽div</div>
<div id="drag_to">投放区</div>
<script type="text/javascript" src="../jquery-2.1.4.js"></script>
<script type="text/javascript">
    // let drag_obj = $('#drag');
    let drag_to_obj = $('#drag_to');

    drag_to_obj.on('dragenter', function () {
        console.log('拖拽对象进入投放区');
        return false;
    });

    drag_to_obj.on('dragover', function () {
        console.log('拖拽对象进入投放区ing');
        // return false;
    });

    drag_to_obj.on('dragleave', function () {
        console.log('拖拽对象离开投放区');
    });

    drag_to_obj.on('drop', function () {
        console.log('拖拽对象投放到投放区');
    });

</script>
阅读 3.4k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题