简体   繁体   English

如何使用javascript拖放

[英]How to drag and drop using javascript

I have a problem in javascript (drag and drop). 我在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> 

How to drag and drop using javascript. 如何使用javascript拖放。 Only javascript. 只有javascript。 Please help me ideas or sample code! 请帮我提问或示例代码! thank you all! 谢谢你们!


I code this way,example: 我用这种方式编码,例如:

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

the problem is when I pull the "Name" and drop any location , class = "color " under " Name " which was the son of " Name" ... " Name " is the parents. 问题是,当我拉“名称”并删除任何位置时,“名称”下面的“=”颜色是“名称”的儿子...“名称”是父母。 how to code that way! 如何以这种方式编码! please help me! 请帮我!

<!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>

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

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