2012-04-23 59 views
0

我有以下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; 
      } 

     }); 

,但我有以下问题:我能我自己的专区内拖拽元素,将其复制的元素。我如何防止它?

enter image description here
在此先感谢!

回答

0

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

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

有这两条线,你可以看到它有区别吗?

"Id_" +

+0

这并不是说。我可以添加两个列表中的元素:一个是具有由“Id_”+实际ID构成的id的普通用户。或由以下形成的groupId:“G_”+实际组ID。代码是好的...我认为这是所有关于我应该在div上设置的合理性,以使其不可破坏。 – 2012-04-23 13:27:10

+0

那你为什么不那样做?向它添加一个'dropped'类,并且不允许丢弃具有该类的元素。 – 2012-04-23 13:30:05

+0

这是我的问题:不允许为我的div放置元素?我希望它可以用于其他divs,但我不希望它能够从本身拖动元素。我一直在寻找通过谷歌有效的解决方案,但没有。 – 2012-04-23 13:54:32