2017-02-03 6 views
0

Ich erstelle ziehbare Elemente zur Laufzeit und möchte sie stapelbar machen. Jedes Mal, wenn ich ein neues ziehbar Element erzeugen, dieser Code ausgeführt wird:jQuery stapelbar funktioniert nicht auf dynamisch erstellte ziehbare Elemente

$('.draggable#Element' + ElementID).draggable({ 
    containment: "body", 
    stack: "#draggables" 
}); 

Ziehbare Container mit zwei generierten Elementen:

<div id="draggables"> 
    <div class="draggable" id="Element1"></div> 
    <div class="draggable" id="Element2"></div> 
</div> 

ich jedes Element schleppen kann. Das Contemant funktioniert auch.

Aber: Leider nur das letzte erstellte Element stapelt, wenn ich es umherziehen. Die anderen Elemente behalten ihren Z-Index und bleiben im Hintergrund.

Ich habe auch versucht, jedes Mal ein neues Element dieser Code ausgeführt wird, erstellt (siehe oben gleiche Ergebnis wie der Code):

$('.draggable').each(function() { 
    $(this).draggable({ 
     containment: "body", 
     stack: "#draggables" 
    }); 
}); 

Und dieses:

$('.draggable').draggable({ 
    containment: "body", 
    stack: "#draggables" 
}); 

Wie erreiche ich, dass jeder Elementstapel korrekt?

jsFiddle Beispiel: https://jsfiddle.net/zurgs1zb/

+0

Haben Sie versucht, '$ ('ziehbar') ziehbar (...)'? – Justinas

+0

Probieren Sie es aus, das gleiche Problem – adistoe

Antwort

0

Scheck erster Kommentar. und versuchen, alle Option Laufzeit in nach intialization Stapel Option und Deklaration Stapel löschen.

$('.draggable').each(function() { 
if($(this).draggable("option", "stack") == false) //if not already set 
    { 
$($(this)).draggable("option", "stack", "#draggables"); // set stack option 
    } 

}); 
+0

Es hat das Problem nicht gelöst. Eigentlich ändert es nichts. – adistoe

+0

warum. diese Methode musste funktionieren ... Vielleicht konnte ich das Problem @adistoe nicht verstehen, bitte fügen Sie zu jsfidde Demo Link hinzu? – Qh0stM4N

+0

https://jsfiddle.net/zurgs1zb/1/ – adistoe

Verwandte Themen