Ich habe ein Problem mit jQuery, das ziehbar und absetzbar ist. Hier ist eine Beschreibung was ich machen möchte.
Erstens: Ich habe zwei divs. Eins ist <div id="selected">
und ein anderes ist <div id="container">
. "container" hat 10 <li>
, die ziehbar sind und in "selected" verschoben werden können. Hier ist Code:
Zweitens: Ich möchte alle 5 <li>
s von "container" zu "selected" div zulassen. Wenn jemand versucht, 6. <li>
hinzuzufügen, darf er dem Benutzer nicht erlauben. Das ist der 6. <li>
, der in "selected" eingefügt wird, muss jedoch mithilfe von jQuery draggable option revert
d. %Code% Hier ist JavaScript-Code dafür.
%Vor%Das funktioniert gut.
Drittens: Aber wenn ich ein $("#container li").draggable({ revert: true });
von "selected" auf "container" ziehe, hat das "selected" div nur 4 <li>
s. In dieser Situation sollte der Benutzer später in der Lage sein, ein weiteres <li>
in das "ausgewählte" div von "container" div einzufügen. Aber leider funktioniert es nicht. Alle <li>
s, die ich versuche, in "selected" zu ziehen, werden aufgrund von <li>
condition zurückgesetzt.
Kann mir jemand helfen, das Problem mit der ziehbaren Rückzugsoption zu lösen? Bitte ...
Sie können die Option accept
verwenden, die eine Funktion benötigt, um dies zu vereinfachen :
Sie können es hier testen . Wenn du Elemente wegziehst, geht der .length
runter und er akzeptiert Elemente wieder ... kein Grund, komplizierter zu werden:)
Wenn Sie revert
auf false setzen, wird die Funktion zum Zurücksetzen vollständig deaktiviert. Wie Sie darauf hinweisen, können Sie die Ziehpunkte überall ablegen. Was du normalerweise willst, ist revert: 'invalid'
, was bedeutet, dass es zurückgesetzt wird, wenn es auf etwas fällt, das kein Droppable ist, das es akzeptiert.
Was Sie tun möchten, sollte in etwa so aussehen:
%Vor%Tags und Links javascript jquery jquery-ui jquery-plugins