javascript - 用另一个替换现有图像

标签 javascript html image

我正在尝试构建一个简单的 Javascript 来拖放图像。 拖放后的拖动图像应在其原始位置重新生成。 我正在尝试这样的事情,但似乎行不通;它不会重新生成图片:

我的js函数:

var nPedY = 21;
var nPedR = 21;
var red = new Image(50,50);
red.src = "red.png";

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));
    if (data == "drag1"){
        document.getElementById("drag1").src = red.src;
        console.log(nPedR);
    }
}

还有我的 HTML 标记:

<tr>
<td width="50px" height="50px"><img id="drag1" src="red.png" align="center" draggable="true" ondragstart="drag(event)"></td>
<td width="50px" height="50px"><img id="drag2" src="yellow.png" align="center" draggable="true" ondragstart="drag(event)"></td>
</tr>

谁能给我一个提示?谢谢。

最佳答案

function drop(ev) {
    ev.preventDefault();
    var data = ev.dataTransfer.getData("text");
    ev.target.appendChild(document.getElementById(data).cloneNode(true));
}

一旦你克隆了这个元素,只有它的一个副本会被添加到 droppable 中。

关于javascript - 用另一个替换现有图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28874014/

相关文章:

javascript - 如何在 Vanilla JS 中使用 Apollo Client 创建 GraphQL 订阅

javascript - ionic 空白模板隐藏附件栏默认不起作用

带有 Flash 回退的 HTML5 视频不起作用

javascript - Blob 图像返回空白图像

pdf - 将 pdf 文件转换为 tiff 文件的最佳方法

javascript - 从函数更新全局变量

javascript - 在按键事件 node.js rawmode 中检测输入

html - 扩展左右图像的颜色以填充容器的整个宽度

css - 单独使用 CSS 或最少 JS 的移动 UI 控件?

javascript - 如何将 .createElement ("image") 也制作成链接