Новые элементы HTML не работают с функцией перетаскивания - PullRequest
0 голосов
/ 19 декабря 2018

У меня есть встроенный тег div, который принимает функцию удаления.Теперь внутри этого тега я создаю новый тег div, который также должен принимать ту же функцию удаления.Но это не работает.Вновь созданный тег div должен также иметь возможность создавать в нем новые дочерние теги div.

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"); // ID of the incoming dragged             element


  if(ev.target.childElementCount==0)
  {
    ev.target.appendChild(document.getElementById(data));
    for(var i=0;i<func_list[parseInt(data)].length;i++)
    {
        var exp=document.createElement("div");
        exp.setAttribute("id", data.concat("exp"));
        exp.setAttribute("ondrop","drop(event)");
        exp.setAttribute("ondragover","allowDrop(event)");
        exp.setAttribute("class","Expression_Area");
        ev.target.appendChild(exp);
    }
  }

  else
  {
      var item = ev.target;
      while (item.firstChild) 
      {
        item.removeChild(item.firstChild);
      }
      ev.target.appendChild(document.getElementById(data));
    for(var i=0;i<func_list[parseInt(data)].length;i++)
    {
        var exp=document.createElement("div");
        exp.setAttribute("id", data.concat("exp"));
        exp.setAttribute("ondrop","drop(event)");
        exp.setAttribute("ondragover","allowDrop(event)");
        exp.setAttribute("class","Expression_Area");
        ev.target.appendChild(exp);
    }

  }



}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...