2017-04-14 10 views
0

javascriptで厄介な問題が発生しました。私は他のdivを削除することができるdivボックスを作成しようとしました。不思議なことに、onDrop属性はdivに割り当てられませんが、もしそれを読めば、それは持っているようです。ここで私のエラーはどこですか?それほどの混乱のためのフィドルやコードを更新:ここ はfiddleJavaScriptのonDrop属性が割り当てられていません

function creatLeftRightTree(parentElement){ 
      var leftTree = document.createElement("DIV"); 
      var rightTree = document.createElement("DIV"); 

      leftTree.id="leftTree"; 
      rightTree.id="rightTree"; 
      leftTree.className="dndcontainer"; 
      rightTree.className="dndcontainer"; 


      leftTree.onDrop="drop(event)"; 
      rightTree.onDrop="drop(event)"; 

      rightTree.ondragover="allowDrop(event)"; 

      parentElement.appendChild(leftTree); 
      parentElement.appendChild(rightTree); 
      rightTree.innerHTML+= rightTree.onDrop; 
      //it must not be possible to drop in the left Tree 

     } 
     function drop(ev) { 
     ev.preventDefault(); 
     var data = ev.dataTransfer.getData("text"); 
     var dropTarget = ev.target; 
       dropTarget.appendChild(document.getElementById(data)); 
     } 

function allowDrop(ev) { 
      ev.preventDefault(); 
     } 

function drag(ev) { 
      ev.preventDefault(); 
     } 
creatLeftRightTree(document.getElementsByTagName("body")[0]); 

EDITです。 drop(event)というalternativ関数を書いた。しかし、本当に問題ではない、問題がある原因:これは

This here is the problem, this div should have the attribute

+0

プロパティを設定しても属性には影響しません。 – SLaks

答えて

1

JavaScriptイベントハンドラはすべて小文字ですonDrop属性を変更しません。 ondropを意味します。

また、文字列を割り当てないでください。関数を直接割り当てる必要があります。

leftTree.ondrop = drop; 
+0

あなたはフィドルを投稿できますか?私がそれを変更した場合、唯一の違いは、読み出し値が未定義であることです。また、divを検査すると、それはまだondrop属性を持ちません。 –

関連する問題