点击复制元素内容拖拽至另一元素中
时间: 2024-02-17 18:21:29 浏览: 61
jquery.copycat:一个jQuery插件,可将元素的位置和大小复制到另一个元素
要实现点击复制元素内容并将其拖拽到另一个元素中,你可以使用HTML5的Drag and Drop API。以下是一个示例代码:
HTML:
```html
<div id="source" draggable="true">源元素</div>
<div id="target" ondragover="allowDrop(event)" ondrop="drop(event)">目标元素</div>
```
JavaScript:
```javascript
function allowDrop(event) {
event.preventDefault();
}
function drop(event) {
event.preventDefault();
var data = event.dataTransfer.getData("text");
var nodeCopy = document.getElementById(data).cloneNode(true);
nodeCopy.id = "newId"; //如果需要,可以为复制的元素指定一个新的ID
event.target.appendChild(nodeCopy);
}
document.getElementById("source").addEventListener("dragstart", function(event) {
event.dataTransfer.setData("text", event.target.id);
});
```
这里,我们将源元素设置为可拖拽的(draggable="true"),并在开始拖动时将其ID存储在`dataTransfer`对象的数据中。然后,我们在目标元素上设置了两个事件处理程序:`ondragover`和`ondrop`。`ondragover`事件处理程序用于阻止默认的拖放行为,而`ondrop`事件处理程序会获取存储在`dataTransfer`对象中的数据,并将其克隆为新的元素,然后将其附加到目标元素中。
这样,当你点击源元素并将其拖动到目标元素上时,源元素的内容会被复制到目标元素中。记得将源元素和目标元素的ID设置为你实际使用的ID。
阅读全文