Sag*_*rma 4 html javascript css jquery html5
我想使用jquery而不是javascript 来实现html5拖放的w3schools EXAMPLE.
这是我在jquery JSFIDDLE中的实现
我只是将事件的html内联声明更改为jquery on()方法,保持其他所有内容相同.
我不明白为什么当我在网上看到很多片段时,jquery不会识别像drop dragstart这样的事件.
HTML:
<div id="div1"></div>
<img id="drag1" src="http://www.w3schools.com/html/img_logo.gif" draggable="true" width="336" height="69">
Run Code Online (Sandbox Code Playgroud)
JQUERY:
$(document).ready(function(){
$("#div1").on("dragover",function(e){
e.preventDefault();
});
$("#drag1").on("dragstart",function(e){
e.dataTransfer.setData("Text",ev.target.id);
});
$("#div1").on("drop",function(e){
e.preventDefault();
var data=e.dataTransfer.getData("Text");
e.target.appendChild(document.getElementById(data));
});
});
Run Code Online (Sandbox Code Playgroud)
A. *_*lff 10
你想使用原始事件,而不是jQuery来获取/设置数据:
e.originalEvent
Run Code Online (Sandbox Code Playgroud)
$(document).ready(function(){
$("#div1").on("dragover",function(e){
e.preventDefault();
});
$("#drag1").on("dragstart",function(e){
e.originalEvent.dataTransfer.setData("Text",e.target.id);
});
$("#div1").on("drop",function(e){
e.preventDefault();
var data=e.originalEvent.dataTransfer.getData("Text");
e.target.appendChild(document.getElementById(data));
});
});
Run Code Online (Sandbox Code Playgroud)