2012-07-01 4 views
3

J'ai inclus jquery-1.7.2.min premier puis jquery-ui-1.8.21.custom.minjQuery UI draggable ne fonctionne pas avec divs dynamiquement créés

alors je divs dynamiquement créé avec nom de la classe et j'ai appelé draggable et sélectionnable sur eux mais ça ne fonctionne pas. dans dom prêt

$.each(a, function (l, i) { 
     $('.browser').append("<div class='folder' id=" + i + "></div>"); 
    }); 
    $('.folder').selectable().draggable(); 

Voici le lien de violon http://jsfiddle.net/2Nh5m/

Répondre

1

juste inverser l'ordre d'appeler draggable() et selectable() et cela fonctionnera:

$('.folder').draggable().selectable() 

http://jsfiddle.net/2Nh5m/1/

+0

Ça fonctionne, mais pouvez-vous me dire pourquoi ça ne fonctionnait pas? plz – pahnin

+0

@ pahnin Par défaut, les éléments triables partagent des propriétés déplaçables, ce qui crée un conflit entre les méthodes. – undefined

+0

okay .. merci .. – pahnin

0

Le problème est dans l'application du dragable f onction.

Habituellement, la fonction draggable est appliquée aux éléments dès que le document est prêt comme le code ci-dessous.

$ ('draggable'). Draggable();

Ceci applique la fonction draggable uniquement pour les éléments qui existent déjà et ne fonctionnera donc pas pour les éléments créés par la suite.

La solution consiste également à appliquer la fonction aux éléments nouvellement créés. Dès que l'élément est créé, utilisez le même code que ci-dessus pour l'appliquer à tout élément nouvellement créé.

Questions connexes