2010-11-24 3 views
2

у меня есть:Jquery Draggable/Живая

$(document).ready(function() { 

     $(".div1, .div2, .div3, .div4, .div5").draggable(); 


     $("#menu").click(function() { 

      $("<div class='div1'></div>").appendTo("#layout"); 

     }); 

}); 

Но перетаскиваемая функция работает только для дивы, которые уже существуют, когда страница загружена. Когда я добавляю динамически, я не мог тащить их.

Мой Html:

 <div id="layout"> 
     <div class="div1"></div> 
    </div> 

ответ

4

Вам просто нужно добавить перетаскиваемым обработчик вашего нового div с:

$("<div class='div1'></div>").appendTo("#layout").draggable(); 

например.

Here's a live example.

+0

Проблема заключается в том, что это приводит к тому, что перемещаемые элементы перемещаются относительно друг относительно друга. – Kerrick 2013-06-18 21:37:16

2

В вашем случае самым простым решением является вызов .draggable() на новые элементы по мере их создания, как это:

$("<div class='div1'></div>").appendTo("#layout").draggable();