我在javascript中遇到问题(拖放)。
// I drag: <div id = "name">Name</div>
<div class="color">white</div>
<div class="color">black</div>
<div class="color">pink</div>
//And drop here:
<div class="color">yellow</div>
<div class="color">green</div>
<div class="color">red</div>
//result:
<div class="color">white</div>
<div class="color">black</div>
<div class="color">pink</div>
<div id="name">
<div class="color">yellow</div>
<div class="color">green</div>
<div class="color">red</div>
</div>
//continue drag:<div id = "name">Name</div> other and drop above: <div class="color">green</div>
<div class="color">white</div>
<div class="color">black</div>
<div class="color">pink</div>
<div id="name">
<div class="color">yellow</div>
</div>
<div id ="name">
<div class="color">green</div>
<div class="color">red</div>
</div>
&#13;
如何使用javascript进行拖放。只有javascript。请帮我提问或示例代码!谢谢大家!
我用这种方式编码,例如:
function addDrag(obj,kind){
addEvent(obj, 'dragstart', function (e) {
dragSrcEl = obj;
e.dataTransfer.setData('text/html', obj.innerHTML);
});
addEvent(obj, 'dragover', function (e) {
if (e.preventDefault) e.preventDefault(); // allows us to drop
$(obj).addClass('dragover');
e.dataTransfer.dropEffect = 'copy';
return false;
});
..........
问题是当我拉出&#34;姓名&#34;并删除任何位置,class =&#34; color&#34;在&#34;姓名&#34;这是&#34;的儿子。命名&#34; ......&#34;姓名&#34;是父母。
如何以这种方式编码!请帮我!
答案 0 :(得分:1)
<!DOCTYPE HTML>
<html>
<head>
<style>
#div1 {width:350px;height:70px;padding:10px;border:1px solid #aaaaaa;}
</style>
<script>
function allowDrop(ev) {
ev.preventDefault();
}
function drag(ev) {
ev.dataTransfer.setData("text", ev.target.id);
}
function drop(ev) {
ev.preventDefault();
var data = ev.dataTransfer.getData("text");
ev.target.appendChild(document.getElementById(data));
}
</script>
</head>
<body>
<p>Drag the W3Schools image into the rectangle:</p>
<div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
<br>
<img id="drag1" src="img_logo.gif" draggable="true" ondragstart="drag(event)" width="336" height="69">
</body>
</html>