Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 拖放;删除二维画布的HTML_Javascript_Html_Canvas_Drag And Drop - Fatal编程技术网

Javascript 拖放;删除二维画布的HTML

Javascript 拖放;删除二维画布的HTML,javascript,html,canvas,drag-and-drop,Javascript,Html,Canvas,Drag And Drop,我在画布上定义了一个小游戏。对于游戏的元素,我有一些构造函数,如下所示: myGamePiece = new component(30, 30, "Pacman.png", 10, 210, "image"); 问题是,当你把图像放到游戏上时,我想使用拖放功能来选择源图像。图像的定义如下: <img id="green" src="PacmanGreen.png" draggable="true" ondragstart="drag(event)" width="30" height="

我在画布上定义了一个小游戏。对于游戏的元素,我有一些构造函数,如下所示:

myGamePiece = new component(30, 30, "Pacman.png", 10, 210, "image");
问题是,当你把图像放到游戏上时,我想使用拖放功能来选择源图像。图像的定义如下:

<img id="green" src="PacmanGreen.png" draggable="true"
ondragstart="drag(event)" width="30" height="30">

我肯定我没有用正确的方式定义“如果”。有什么建议吗?谢谢你的帮助

在JSFIDLE中重新创建有问题的问题。您没有为任何人提供足够的代码来说明问题所在。我不知道新组件一旦被调用后会做什么我只需要知道“ev.dataTransfer.getData();”是否包含类似“document.getElementById();”的元素。因为如果不是,那么“如果”的情况永远不会发生。我想你会在这个答案和下面的评论中找到你所需要的一切
function drop(ev) {
    ev.preventDefault();
    var data = ev.dataTransfer.getData("image");
    if (data == document.getElementById("green")){
         myGamePiece = new component(30, 30, "PacmanGreen.png", 10, 210, "image");
    }
}