gpt4 book ai didi

javascript - html5 拖放使用 jquery(不是 jquery UI)

转载 作者:技术小花猫 更新时间:2023-10-29 11:54:31 26 4
gpt4 key购买 nike

我想实现 w3schools EXAMPLE对于 html5 拖放,使用 jquery 而不是 javascript。

这是我在 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">

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));
});
});

最佳答案

您想使用原始事件,而不是 jQuery 来获取/设置数据:

e.originalEvent

Fixed jsFiddle

$(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));
});
});

关于javascript - html5 拖放使用 jquery(不是 jquery UI),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23309597/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com