首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTML5拖放-图像不会覆盖

HTML5拖放-图像不会覆盖
EN

Stack Overflow用户
提问于 2013-10-11 14:12:02
回答 2查看 1.1K关注 0票数 2

任何人都可以帮我解决这个问题,谢谢你的帮助!

使用此小提琴更新

代码:

代码语言:javascript
复制
<!DOCTYPE HTML>

<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");
var new_img = $('#'+data).clone();
$('#'+ev.target.id).html(new_img);
}

</script>

<body>
<center>
<p>Drag the image you want into this box!</p>

<table>
<tr>
<td><p><b>Main Image</b></p><div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div></td>
<td><p><b>Image 2</b></p><div id="div2" ondrop="drop(event)" ondragover="allowDrop(event)"></div></td>
<td><p><b>Image 3</b></p><div id="div3" ondrop="drop(event)" ondragover="allowDrop(event)"></div></td>
</tr>
</table>

<img id="drag1" ondrop="drop(event)" draggable="true" width="150" height="150" ondragstart="drag(event)" src="http://netdna.webdesignerdepot.com/uploads/2013/02/thumbnail32.jpg" alt="img01"/></a>
<img id="drag2" ondrop="drop(event)" draggable="true" width="150" height="150" ondragstart="drag(event)" src="http://netdna.webdesignerdepot.com/uploads/html5-css3-wireframing/html5-logo.jpg" alt="img02"/></a>
<img id="drag3" ondrop="drop(event)" draggable="true" width="150" height="150" ondragstart="drag(event)"src="http://netdna.webdesignerdepot.com/uploads/2012/12/thumb-1.jpg" alt="img03"/></a>
</body>

<style type="text/css">
#div1 {width:200px;height:200px;padding:10px;border:1px solid #aaaaaa;}
#div2 {width:200px;height:200px;padding:10px;border:1px solid #aaaaaa;}
#div3 {width:200px;height:200px;padding:10px;border:1px solid #aaaaaa;}
</style>

使用上面的代码,原始图像保留。但是问题是,如果我把另一张图片拖到一个已经有图像的盒子里,它就不会被覆盖。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-11 14:23:38

代码语言:javascript
复制
function allowDrop(ev)
{
ev.preventDefault();
$('#'+ev.target.id).html("");
}
票数 0
EN

Stack Overflow用户

发布于 2013-10-11 14:50:53

小提琴手

检查小提琴..。但是当你从图像上掉下来的时候,问题就出现了。您必须从添加的图像和边框之间的空空间中删除。因为添加的图像没有分配"ondrop“属性。

代码语言:javascript
复制
function drop(ev)
{
 ev.preventDefault();
 document.getElementById(ev.target.id).innerHTML = "";
 var data=ev.dataTransfer.getData("Text");
 var new_img = $('#'+data).clone();
 $('#'+ev.target.id).html(new_img);
}

但是,如果清除innerHTML中的allowDrop,即使用户没有实际删除该区域中的图像,它也会导致可丢弃的图像被清除。检查

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19320335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档