2010-11-24 6 views
2

J'ai:Jquery Draggable/direct

$(document).ready(function() { 

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


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

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

     }); 

}); 

Mais la fonction draggable fonctionne juste pour les divs qui existent déjà lorsque la page est chargée. Lorsque j'ajoute dynamiquement, je ne peux pas les faire glisser.

Mon Html:

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

Répondre

4

Vous avez juste besoin d'ajouter le draggable gestionnaire à votre nouvelle div avec:

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

par exemple.

Here's a live example.

+0

Le problème est que cela provoque le positionnement relatif des éléments déplaçables. – Kerrick

2

Dans votre cas, la solution la plus simple est d'appeler .draggable() sur les nouveaux éléments que vous les créez, comme ceci:

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