鍍金池/ 問答/HTML/ 火狐瀏覽器的拖放事件拖入并放入可以阻止a打開新窗口,但拖入不放入而是拖出來會打開

火狐瀏覽器的拖放事件拖入并放入可以阻止a打開新窗口,但拖入不放入而是拖出來會打開新窗口怎么解決?

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>拖放事件</title>
<style>
    #box{
        width: 500px; height: 500px; border: 1px solid black;
    }
</style>
<script>
window.onload = function (){
    var box = document.getElementById("box");

    box.addEventListener("dragenter",function (){
        console.log("拖入了某些元素");
    },false);

    box.addEventListener("dragover",function (e){
        e.preventDefault();
        e.stopPropagation();;
        console.log("此元素在里面不斷拖動");
    },false);

    box.addEventListener("dragleave",function (e){
        e.preventDefault();
        e.stopPropagation();
        console.log("此元素被拖出了這個區(qū)域");
    },false);

    box.addEventListener("drop",function (e){
        e.preventDefault();
        e.stopPropagation();
        console.log("此元素被放置在了這個區(qū)域");
    },false);

    a.addEventListener("click",function (e){
        e.preventDefault();
    },false)
};
</script>
</head>
<body>
    <a  id="a">要拖動的元素</a>
    <div id="box">
        
    </div>
</body>
</html>
回答
編輯回答
檸檬藍

本人已解決,在被拖動的元素的dragend事件中阻止默認行為并取消冒泡會解決這個問題

2017年3月21日 01:03