巴扎黑2017-04-10 17:38:59
看了下,这应该是jquery的Bug。
你获得的这个e是jquery的,和原生的不是100%相同的,问题出在这里。
你需要得到原生的event,改成这样:
e.originalEvent.dataTransfer.setData('text','Hello World');
加一个originalEvent
就好了。
多多利用谷歌,stackoverflow已经有相同的问题了。
参考资料:http://stackoverflow.com/ques...
迷茫2017-04-10 17:38:59
我测试了一下发现你这个代码问题好大,只能触发拖拽的开始和结束,找不到目标元素,我们做过这个拖拽,一时也解决不了你这个错误,不过你报的这个错误可以看看这个https://developer.mozilla.org...
刚刚发现你用了这个EventArea类名,但是在页面中根本就没设置。。。。
怪我咯2017-04-10 17:38:59
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
p{
width: 800px;
height: 200px;
border: 1px solid red;
}
</style>
</head>
<body>
<p id="p1" ondragover="bb(event)" ondrop="cc(event,this)">
<img id="img1" src="img/t01d02b4910982c7f6a.jpg" width="320px"height="200px"ondragstart="aa(event)"/>
<img id="img2" src="img/t01d02b4910982c7f6a.jpg" width="320px"height="200px"ondragstart="aa(event)"/>
</p>
<p id="p2" ondragover="bb(event)" ondrop="cc(event,this)">
</p>
<script type="text/javascript">
function aa(ev){
ev.dataTransfer.setData("id",ev.target.id);
}
function bb(ev){
ev.preventDefault();
}
function cc(ev,dome){
var data=ev.dataTransfer.getData("id");
var dom=document.getElementById(data);
dom.parentNode.removeChild(dom);
dome.appendChild(dom);
}
</script>
</body>
</html>