繁体   English   中英

Javascript 拖放事件在拖放期间未触发

[英]Javascript Drop event not firing during drag and drop

我正在 HTML5 中练习拖放,我注意到 drop 事件没有触发。

我尝试注意到dragstart、dragenter、dragover 所有这些事件都在触发(我创建了一个console.log output 来检查它)

 function alerteMoi(){ continent = document.getElementById("afrique"); droite = document.getElementById("droite"); continent.addEventListener("dragstart", startDrag, false); droite.addEventListener("dragenter", function(e){e.preventDefault, false}); droite.addEventListener("dragover", function(e){e.preventDefault, false}); droite.addEventListener("drop", dropped, false); } function startDrag(e){ console.log(continent); e.dataTransfer.setData("Text", continent); } function dropped(e){ //Cannot log this event, it means that the dropped event is not firing console.log(droite); e.preventDefault(); droite.innerHTML = e.dataTransfer.getData("continent"); } window.addEventListener('load', alerteMoi, false);
 #gauche{ float: left; height: auto; width: 48%; border: 1px solid red; } #droite{ float: right; height: 100px; width: 44%; border: 1px solid blue; }
 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <link rel="stylesheet" href="style.css"/> <script src="script.js"></script> <meta charset="utf-8"/> <title></title> </head> <body> <ul id="gauche"> <li draggable="true" id="afrique">Afrique</li> <li>Amerique</li> <li onclick="alert('Azie;');">Azie</li> <li>Europe</li> <li onclick="alert('Oceanie.');">Oceanie</li> </ul> <div id="droite"> <ul><li>Monde</li></ul> </div> <img src="ex.png" alt="title"/> </body> </html>

preventDefault是一种方法,因此,应在其名称后面加上括号来调用: e.preventDefault() 还有一种“错字”,因为false没有作为属性传递给addEventListener()方法,而是在拖动dragover内部执行

改变

droite.addEventListener("dragenter", function(e){e.preventDefault, false});
droite.addEventListener("dragover", function(e){e.preventDefault, false});

为了

droite.addEventListener("dragenter", function(e){e.preventDefault()}, false);
droite.addEventListener("dragover", function(e){e.preventDefault()}, false);

你应该对go很好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM