2012-04-23 10 views
0

I次のdivを持っている:
Divのドラッグ要素自体にドラッグしてはいけない

<div id="Cc" style="height: 40px; width: 100%; border: 1px solid black" class="ui-sortable ui-droppable"> 
       </div> 

私は正常にこのdiv要素の中に新しい水平リストを作成し、私はリストから要素をクリックしたときにそれを取得2つのドラッグ可能なUL年代に関連して行われました

$("#Cc").droppable({ 
      drop: function (event, ui) { 
       var a = $(ui.draggable).attr('id'); 
       ts = ""; 
       if (dlistCc.length > 0) 
        ts = ","; 
       var checkExists = document.getElementById("Id_" + a); 
       if (checkExists) { 
        alert("Already there !"); 
       } else { 
        dlistCc.push(a); 
        var listElem = "<li id=\"Id_" + a + "\"onclick=\"RemFromList('" + a + "_" + name + "_" + "#Cc" + "');\" style=\"font-weight:bold;margin-top: 1px;list-style-type: none;display:inline; margin-bottom: 3px; cursor:pointer; font-size: 11px; color:Black; padding-top: 1px; padding-bottom: 1px; margin-left:2px; width:150px;\"><a>" + ts + $.trim($(ui.draggable).text()).replace(/\s(?=\s)/g, '') + "</a></li>"; 
        $("#Cc").append(listElem); 

       } 
       NamesCc = NamesCc + listElem; 
      } 

     }); 

を、しかし、私は次のような問題があります:削除私は自分のdiv内の要素をドラッグすることができ、そしてそれは要素を複製します。どうすればそれを防ぐことができますか?

enter image description here
ありがとうございます!

答えて

0

var a = $(ui.draggable).attr('id');

var checkExists = document.getElementById("Id_" + a);

ありこれら二つの線の間の違いは、あなたがそれを見ることができますか?

"Id_" +

+0

それはそれではありません。 2つのリストから要素を追加することができます.1つはIDが "Id_" +実際のIDで構成されている通常のユーザーです。または "G_" +実際のグループIDによって形成されるgroupIdです。コードは問題ありません...私はそれが不可解なものにするためにdivに設定する必要があることはすべて妥当であると思います。 –

+0

それでは、なぜあなたはそれをしませんか?クラスに 'dropped'クラスを追加し、それを持つ要素を削除することを禁止します。 –

+0

それは私の問題です:私のdivの要素を削除することを拒否?私はそれが他のdivsのためにdroppableであることを望むが、私はそれ自身から要素をドラッグできるようにしたくない。私はGoogleを介して有効なソリューションを探していたが、そこには何もない。 –

関連する問題