简体   繁体   English

放置事件未设置dataTransfer

[英]Drop event not setting dataTransfer

I've read Is html5 drag and drop broken on safari browser for windows? 我已阅读Safari的Safari浏览器中的html5拖放是否损坏? several times, looked at countless other resources, but can't solve my problem with the top answer. 几次,看了无数其他资源,但无法用最佳答案解决我的问题。

This is the code, if someone could modify it so that it works on Safari that would be much appreciated. 这是代码,如果有人可以对其进行修改,使其可以在Safari上运行,将不胜感激。 The dragged html snippet is logged in the console on chrome, but not in safari. 拖动的html代码段在chrome上登录到控制台,但不在safari中登录。 I'm quite new to js so need something verbose! 我对JS很陌生,所以需要一些详细信息! thank you 谢谢

$(window).load(function(){
   var dropbox = document.getElementById('image-drop-block');
   dropbox.addEventListener('dragenter', noopHandler, false);
   dropbox.addEventListener('dragexit', noopHandler, false);
   dropbox.addEventListener('dragover', noopHandler, false);
   dropbox.addEventListener('drop', drop, false);
   dropbox.addEventListener('dragend',noopHandler, false);

   function noopHandler(evt) {
   evt.stopPropagation();
   evt.preventDefault();
   }                

   function drop(evt) {
   evt.preventDefault();
   var droppedHTML = evt.dataTransfer.getData("text/html");
   console.log(droppedHTML);
   }
});

I see that the load function is not properly closed " ); ", this might be a typo? 我看到load函数没有正确关闭“);”,这可能是拼写错误? Do you have a working solution? 您有可行的解决方案吗?

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

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