Frage

ich mache eine Klasse von Elementen wie diese ziehbar

jQuery(".drag").draggable();

jQuery(".drop").droppable({
accept: ".drag",

drop: function(ev, ui) {
//do stuff with dropped data

    }
});

Das Problem ist jetzt, ich bin in der Lage, die Elemente aus dem Körper zu ziehen, und die ganzen html. Wie begrenzen ich die Gegend, in der es ziehbar?

War es hilfreich?

Lösung

http://docs.jquery.com/UI/Draggable#option-containment

Beschränkt innerhalb der Grenzen des angegebenen Elements oder einer Region zu ziehen. Mögliche Stringwerte: 'Eltern', 'Dokument', 'Fenster', [x1, y1, x2, y2]

.

Beispiel:

Initialisieren einen ziehbar mit der Containment-Option angegeben.

$('.selector').draggable({ containment: 'parent' });

oder , falls das Problem ist, dass die ziehbar überall platziert werden kann:

http://docs.jquery.com/UI/Draggable#option-revert

Wenn auf true gesetzt ist, wird das Element in seine Startposition zurück, wenn Stopps ziehen. Mögliche Stringwerte: ‚gültig‘, ‚ungültig‘. Wenn ungültig gesetzt, zufällt nur auftreten, wenn die ziehbar hat auf einem abwerfbaren nicht fallen gelassen worden. Für gültig, dann ist es umgekehrt.

und schließlich, ich sehe nicht, dass Sie den Umfang der ziehbar ( Bearbeiten Einstellung: Aber das wird das Problem nicht beheben, die andere 2 Dinge oben sollte) :

http://docs.jquery.com/UI/Draggable#option-scope

Wird verwendet, um Gruppen Sätze von ziehbar und abwerfbaren Elemente, zusätzlich Option des akzeptieren abwerfbaren. Ein ziehbar mit dem gleichen Umfang Wert als abwerfbaren wird von den abwerfbaren akzeptiert werden.

Beispiel:

Initialisieren eines ziehbar mit dem Umfang Option angegeben.

$('.selector').draggable({ scope: 'tasks' });
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top