如何将图像放在div中作为[object HTMLImageElement]

时间:2018-02-01 14:46:19

标签: html css

我有一些代码本质上是一系列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,其代码的工作版本。请注意,您可以将图像拖放到一个框中,但不能将它们放在同一个框中。

1 个答案:

答案 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
    }
 }