我有一些代码本质上是一系列div,你可以将图像拖放到某些div中,但不能拖放其他一些div。我用这几个脚本控制图像的拖放:
var randomDecimals: [Int64]?
结果,我想在div中插入一个我不想丢弃的图像,以便它将你想要放置图像的目标注册到[object HTMLDivElement]以外的地方,最好是[object] HTMLImageElement。显然背景图像不起作用,将内容标记放在我的CSS中的div id中也不起作用。有没有办法在CSS中执行此操作,或者我应该在HTML中创建div时执行此操作?
编辑:这是我的其余代码。当然,他们的风格是在头脑中。
function allowDrop(ev) {
ev.preventDefault();
}
function drag(ev) {
ev.dataTransfer.setData("text", ev.target.id);
}
function drop(ev) {
alert (ev.target);
ev.preventDefault();
if(ev.target=="[object HTMLDivElement]"){
var data = ev.dataTransfer.getData("text");
ev.target.appendChild(document.getElementById(data));
}
}
这是一个jsfiddle,其代码的工作版本。请注意,您可以将图像拖放到一个框中,但不能将它们放在同一个框中。
答案 0 :(得分:1)
只需使用innerHTML
标记即可。例如,当用户拖动时,获取起始单元格(从中拖动)并将其移动到目标单元格(拖动到)。
然后,获取起始单元格的HTML。但是,图像必须在div中作为具有src属性的HTML
function drag(startDivId,endDivId){
try{
var img = document.getELementById(startDivId).innerHTML
document.getElementById(endDivId).innerHTML=img
return true
} catch(e) {
return e
}
}