Bei sortstart -> Destroy sortable und mach es droppable

Liebe jquery Experten und Expertinen :smile:

ich habe ein kleines jquery ui Problem und ich benötige drigend eine Lösung.

Hier ist ein example
http://jsfiddle.net/FrbW8/10/

Ziehe z.B. ein "drag me"von DIV 3 zu DIV 1
(linke Maustaste nicht loslassen!)

Obwohl ich sagte „sortable destroy“ ist sortable noch aktiv.

Erst wenn ich den Drag beendet habe (also wenn ich die linke Maustaste wieder loslasse) führt er den sortable"destroy" aus.

Wäre super nett wenn einer von euch das mal angucken würde.
Ich hänge da jetzt schon 3 Tage drann :frowning:

lieben Gruß
Sovvi

PS: Ich habe diese Frage auch schon in anderen Foren gepostet … leider ohne Erfolg … ihr seid mene letzte Hoffnung.

Hallo Sovvi,
ich hab das problem jetzt so gelöst das ich einen „mouseUp“ event sende falls das sortable destroyed wird. und die css position des gezogenen elementes wieder auf „static setzte“

hier die zeilen code die ich eingesetzt habe:
$(’#div1’).sortable(‚destroy‘);
if($(this).hasClass(„lt“)){
$(this).mouseup().css({positon:static});
}
$(’#blub’).html(‚DIV 1 sortable destroy (dont work)
All LIs in DIV 1 are droppable now (work)‘);

hier mein jsfiddle ergebnis:
http://jsfiddle.net/qcv7F/

gruss chris

Hey Chris,
ich danke dir!

Da merkt man mal wieder das man den Wald vor lauter bäumen nicht sieht :wink:.

Btw … es muss mousedown sein :wink:

Wünsch dir noch einen schönen abend
Sovvi

Hi Sovvi,
ich denke schon das es „mouseup“ sein müsste…

die aktions kette ist ja folgende:
mousedown (drag wird gestartet)
mouseup (drag wird beendet)

aberwarscheinlich funktioniert auf grund des drag verhaltens auch beide varianten.

gruss chris

Hi,

Da kann ich dir leider nicht weiterhelfen. Mit der UI-Komponente habe ich noch nicht genug Erfahrungen.

Gruß,
Fabian

Hallo Sovvi,

ich komme gerade aus dem Urlaub, deshalb die spaete
Antwort:

Wenn du dich auf das „sortstart“ event beziehst, heisst
das dein code wird aufgerufen NACHDEM das dragging /
sorting begonnen hat. Damit ist dein Sortable schon in
Beschlag bis die Maustaste wieder losgelassen wird. JS
und Jquery unterstuetzen nativ kein Multitasking,
weshalb auch kein Code zum abwenden des Sortierens
ausgefuehrt werden kann, bevor die Maustaste losgelassen
wird.
Um die Sortables droppable zu machen, musst Du dieses
Verhalten sebst implementieren. Dafuer kannst Du das
event „beforestop(event, ui)“ nutzen. Der Helper ist
dann unter ui.draggable zu erreichen. Mittels
$.append(), $.before() etc… kannst Du ihn an das
Element anhaengen, welches Du als droppable haben
wolltest.

ich hoffe ich konnte helfen,

sonst setz einfach nach

mfg Max

Hallo,
da ich einige Zeit nicht mein Postfach gecheckt habe, sehe ich erst jetzt die Frage. Tut mir leid dass ich nicht helfen konnte. Vielleicht hast du ja eh schon eine Antwort für das Problem.

Mit freundlichen Grüßen
F. B.