jQuery UI API - Sortable Widget
Kategorie
Nutzung
Beschreibung:Verwenden Sie die Maus, um die Reihenfolge von Elementen in einer Liste oder einem Raster anzupassen.
Hinzugefügt in Version:1.0
D:
Hinweise:Das jQuery UI Sortable-Plugin macht ausgewählte Elemente durch Ziehen mit der Maus sortierbar.
Hinweise:Um Tabellenzeilen zu sortieren,tbodymuss sortierbar sein, nichttable。
Schnellnavigation
| Optionen | Methoden | Ereignisse |
|---|---|---|
| Optionen | Type | Beschreibung | Standardwert |
|---|---|---|---|
| appendTo | jQuery oder Element oder Selector oder String | Beim Ziehen: Wo das mit der Maus bewegte Hilfselement angehängt werden soll (zum Beispiel, um Überlappungs-/zIndex-Probleme zu lösen). Unterstützt mehrere Typen:
Codebeispiele: Initialisiert das Sortable mit den angegebenen
$( ".selector" ).sortable({ appendTo: document.body });
Nach der Initialisierung abrufen oder festlegen // getter var appendTo = $( ".selector" ).sortable( "option", "appendTo" ); // setter $( ".selector" ).sortable( "option", "appendTo", document.body ); |
"parent" |
| axis | String | Wenn definiert, können Elemente nur horizontal oder vertikal gezogen werden. Mögliche Werte:"x", "y"。Codebeispiele: Initialisiert das Sortable mit den angegebenen
$( ".selector" ).sortable({ axis: "x" });
Nach der Initialisierung abrufen oder festlegen // getter var axis = $( ".selector" ).sortable( "option", "axis" ); // setter $( ".selector" ).sortable( "option", "axis", "x" ); |
false |
| Abbruch | Selektor | Verhindert, dass das Sortieren auf Elementen beginnt, die dem Selektor entsprechen. Codebeispiele: Initialisiert das Sortable mit den angegebenen
$( ".selector" ).sortable({ cancel: "a,button" });
Nach der Initialisierung abrufen oder festlegen // getter var cancel = $( ".selector" ).sortable( "option", "cancel" ); // setter $( ".selector" ).sortable( "option", "cancel", "a,button" ); |
"input, textarea, button, select, option" |
| connectWith | Selektor | Selektor anderer sortierbarer Elemente, mit denen die Elemente in dieser Liste verbunden werden sollen. Dies ist eine einseitige Beziehung, und wenn Sie möchten, dass Elemente in beide Richtungen verbunden werden, müssen Sie dieconnectWithOption auf beiden sortierbaren Elementen festlegen.Codebeispiele: Initialisiert das Sortable mit den angegebenen
$( ".selector" ).sortable({ connectWith: "#shopping-cart" });
Nach der Initialisierung abrufen oder festlegen // getter var connectWith = $( ".selector" ).sortable( "option", "connectWith" ); // setter $( ".selector" ).sortable( "option", "connectWith", "#shopping-cart" ); |
false |
| containment | Element oder Selektor oder String | Definiert die Grenzen, innerhalb derer die sortierbaren Elemente beim Ziehen eingeschränkt werden. Hinweis: Das für containment angegebene Element muss eine berechnete Breite und Höhe haben (obwohl sie nicht explizit sein müssen). Wenn Sie beispielsweise Unterstützt mehrere Typen:
Codebeispiele: Initialisiert das Sortable mit den angegebenen
$( ".selector" ).sortable({ containment: "parent" });
Nach der Initialisierung abrufen oder festlegen // getter var containment = $( ".selector" ).sortable( "option", "containment" ); // setter $( ".selector" ).sortable( "option", "containment", "parent" ); |
false |
| cursor | String | Legt den Cursor fest, der beim Sortieren angezeigt wird. Codebeispiele: Initialisiert das Sortable mit den angegebenen
$( ".selector" ).sortable({ cursor: "move" });
Nach der Initialisierung abrufen oder festlegen // getter var cursor = $( ".selector" ).sortable( "option", "cursor" ); // setter $( ".selector" ).sortable( "option", "cursor", "move" ); |
"auto" |
| cursorAt | Objekt | Verschiebt das sortierte Element oder den Helper so, dass der Cursor immer aus derselben Position zu ziehen scheint. Die Koordinaten können als Hash mit einem oder zwei Schlüsseln angegeben werden:{ top, left, right, bottom }。Codebeispiele: Initialisiert das Sortable mit den angegebenen
$( ".selector" ).sortable({ cursorAt: { left: 5 } });
Nach der Initialisierung abrufen oder festlegen
// getter
var cursorAt = $( ".selector" ).sortable( "option", "cursorAt" );
// setter
$( ".selector" ).sortable( "option", "cursorAt", { left: 5 } );
|
false |
| delay | Integer | Zeit in Millisekunden nach mousedown, bis das Sortieren beginnt. Diese Option kann unerwünschtes Ziehen verhindern, wenn auf ein Element geklickt wird. Codebeispiele: Initialisiert das Sortable mit den angegebenen
$( ".selector" ).sortable({ delay: 150 });
Nach der Initialisierung abrufen oder festlegen // getter var delay = $( ".selector" ).sortable( "option", "delay" ); // setter $( ".selector" ).sortable( "option", "delay", 150 ); |
0 |
| disabled | Boolean | Wenn festgelegt auftrue, deaktiviert das Sortable.Codebeispiele: Initialisiert das Sortable mit den angegebenen
$( ".selector" ).sortable({ disabled: true });
Nach der Initialisierung abrufen oder festlegen // getter var disabled = $( ".selector" ).sortable( "option", "disabled" ); // setter $( ".selector" ).sortable( "option", "disabled", true ); |
false |
| distance | Number | Entfernung in Pixeln, die die Maus nach mousedown zurücklegen muss, bevor das Sortieren beginnt. Wenn angegeben, beginnt das Sortieren erst, wenn die Maus über die angegebene Entfernung hinaus gezogen wird. Diese Option kann verwendet werden, um Klicks auf Elemente innerhalb eines Handles zu ermöglichen. Codebeispiele: Initialisiert das Sortable mit den angegebenen
$( ".selector" ).sortable({ distance: 5 });
Nach der Initialisierung abrufen oder festlegen // getter var distance = $( ".selector" ).sortable( "option", "distance" ); // setter $( ".selector" ).sortable( "option", "distance", 5 ); |
1 |
| dropOnEmpty | Boolean | Wenn festgelegt auffalse, Elemente aus diesem Sortable können nicht auf einem leeren verbundenen Sortable abgelegt werden (siehe dieconnectWith-Option).Codebeispiele: Initialisiert das Sortable mit den angegebenen
$( ".selector" ).sortable({ dropOnEmpty: false });
Nach der Initialisierung abrufen oder festlegen // getter var dropOnEmpty = $( ".selector" ).sortable( "option", "dropOnEmpty" ); // setter $( ".selector" ).sortable( "option", "dropOnEmpty", false ); |
wahr |
| forceHelperSize | Boolean | Wenn festgelegt auftrue, erzwingt, dass der Helper eine Größe hat.Codebeispiele: Initialisiert das Sortable mit den angegebenen
$( ".selector" ).sortable({ forceHelperSize: true });
Nach der Initialisierung abrufen oder festlegen // getter var forceHelperSize = $( ".selector" ).sortable( "option", "forceHelperSize" ); // setter $( ".selector" ).sortable( "option", "forceHelperSize", true ); |
false |
| forcePlaceholderSize | Boolean | Wenn festgelegt auftrue, erzwingt, dass der Platzhalter eine Größe hat.Codebeispiele: Initialisiert das Sortable mit den angegebenen
$( ".selector" ).sortable({ forcePlaceholderSize: true });
Nach der Initialisierung abrufen oder festlegen // getter var forcePlaceholderSize = $( ".selector" ).sortable( "option", "forcePlaceholderSize" ); // setter $( ".selector" ).sortable( "option", "forcePlaceholderSize", true ); |
false |
| grid | Array | Rastet das sortierte Element oder den Helper an einem Raster aus, und zwar in x- und y-Pixel-Schritten. Das Array muss die Form haben[ x, y ]。Codebeispiele: Initialisiert das Sortable mit den angegebenen
$( ".selector" ).sortable({ grid: [ 20, 10 ] });
Nach der Initialisierung abrufen oder festlegen // getter var grid = $( ".selector" ).sortable( "option", "grid" ); // setter $( ".selector" ).sortable( "option", "grid", [ 20, 10 ] ); |
false |
| handle | Selektor oder Element | Wenn angegeben, wird der Start des Sortierens auf das angegebene Element beschränkt. Codebeispiele: Initialisiert das Sortable mit den angegebenen
$( ".selector" ).sortable({ handle: ".handle" });
Nach der Initialisierung abrufen oder festlegen // getter var handle = $( ".selector" ).sortable( "option", "handle" ); // setter $( ".selector" ).sortable( "option", "handle", ".handle" ); |
false |
| helper | String oder Function() | Ermöglicht die Verwendung eines Hilfselements für die Anzeige beim Ziehen. Unterstützt mehrere Typen:
Codebeispiele: Initialisiert das Sortable mit den angegebenen
$( ".selector" ).sortable({ helper: "clone" });
Nach der Initialisierung abrufen oder festlegen // getter var helper = $( ".selector" ).sortable( "option", "helper" ); // setter $( ".selector" ).sortable( "option", "helper", "clone" ); |
"original" |
| items | Selektor | Welche Elemente innerhalb des Elements sortierbar sein sollen. Codebeispiele: Initialisiert das Sortable mit den angegebenen
$( ".selector" ).sortable({ items: "> li" });
Nach der Initialisierung abrufen oder festlegen // getter var items = $( ".selector" ).sortable( "option", "items" ); // setter $( ".selector" ).sortable( "option", "items", "> li" ); |
"> *" |
| opacity | Number | Die Deckkraft des Hilfselements beim Sortieren. Von0.01auf1。Codebeispiele: Initialisiert das Sortable mit den angegebenen
$( ".selector" ).sortable({ opacity: 0.5 });
Nach der Initialisierung abrufen oder festlegen // getter var opacity = $( ".selector" ).sortable( "option", "opacity" ); // setter $( ".selector" ).sortable( "option", "opacity", 0.5 ); |
false |
| placeholder | String | Der anzuwendende Klassenname, andernfalls weißer Leerraum. Codebeispiel: Initialisieren mit den angegebenen
$( ".selector" ).sortable({ placeholder: "sortable-placeholder" });
Nach der Initialisierung: Abrufen oder Festlegen // getter var placeholder = $( ".selector" ).sortable( "option", "placeholder" ); // setter $( ".selector" ).sortable( "option", "placeholder", "sortable-placeholder" ); |
false |
| revert | Boolean oder Number | Ob sortierbare Elemente eine weiche Animation verwenden, um an ihre neue Position zurückzukehren. Unterstützt mehrere Typen:
Codebeispiel: Initialisieren mit den angegebenen
$( ".selector" ).sortable({ revert: true });
Nach der Initialisierung: Abrufen oder Festlegen // getter var revert = $( ".selector" ).sortable( "option", "revert" ); // setter $( ".selector" ).sortable( "option", "revert", true ); |
false |
| scroll | Boolean | Wenn festgelegt auftrue, scrollt die Seite, wenn der Rand erreicht wird.Codebeispiel: Initialisieren mit den angegebenen
$( ".selector" ).sortable({ scroll: false });
Nach der Initialisierung: Abrufen oder Festlegen // getter var scroll = $( ".selector" ).sortable( "option", "scroll" ); // setter $( ".selector" ).sortable( "option", "scroll", false ); |
wahr |
| scrollSensitivity | Number | Definiert, wie weit der Mauszeiger vom Rand entfernt sein muss, damit das Scrollen beginnt. Codebeispiel: Initialisieren mit den angegebenen
$( ".selector" ).sortable({ scrollSensitivity: 10 });
Nach der Initialisierung: Abrufen oder Festlegen // getter var scrollSensitivity = $( ".selector" ).sortable( "option", "scrollSensitivity" ); // setter $( ".selector" ).sortable( "option", "scrollSensitivity", 10 ); |
20 |
| scrollSpeed | Number | Wenn sich der Mauszeiger innerhalbscrollSensitivitydistance befindet, die Geschwindigkeit, mit der das Fenster scrollt. WennscrollOption istfalsedann wird sie ignoriert.Codebeispiel: Initialisieren mit den angegebenen
$( ".selector" ).sortable({ scrollSpeed: 40 });
Nach der Initialisierung: Abrufen oder Festlegen // getter var scrollSpeed = $( ".selector" ).sortable( "option", "scrollSpeed" ); // setter $( ".selector" ).sortable( "option", "scrollSpeed", 40 ); |
20 |
| tolerance | String | Gibt den Modus an, der verwendet wird, um zu prüfen, ob ein bewegtes Element ein anderes Element überlappt. Mögliche Werte:
Codebeispiel: Initialisieren mit den angegebenen
$( ".selector" ).sortable({ tolerance: "pointer" });
Nach der Initialisierung: Abrufen oder Festlegen // getter var tolerance = $( ".selector" ).sortable( "option", "tolerance" ); // setter $( ".selector" ).sortable( "option", "tolerance", "pointer" ); |
"intersect" |
| zIndex | Integer | Der Z-Index des Elements/Helpers während des Sortierens. Codebeispiel: Initialisieren mit den angegebenen
$( ".selector" ).sortable({ zIndex: 9999 });
Nach der Initialisierung: Abrufen oder Festlegen // getter var zIndex = $( ".selector" ).sortable( "option", "zIndex" ); // setter $( ".selector" ).sortable( "option", "zIndex", 9999 ); |
1000 |
| Methoden | Gibt zurück | Beschreibung |
|---|---|---|
| cancel() | jQuery (nur Plugin) | Bricht eine Änderung im aktuellen Sortable während des aktuellen Sortiervorgangs ab und kehrt zum vorherigen Zustand zurück. Nützlich in den Callbacks stop und receive.
Codebeispiel: Aufruf der cancel-Methode: $( ".selector" ).sortable( "cancel" ); |
| destroy() | jQuery (nur Plugin) | Entfernt die Sortable-Funktionalität vollständig. Dadurch wird das Element in seinen Zustand vor der Initialisierung zurückversetzt.
Codebeispiel: Aufruf der destroy-Methode: $( ".selector" ).sortable( "destroy" ); |
| disable() | jQuery (nur Plugin) | Deaktiviert das Sortable.
Codebeispiel: Aufruf der disable-Methode: $( ".selector" ).sortable( "disable" ); |
| enable() | jQuery (nur Plugin) | Aktiviert das Sortable.
Codebeispiel: Aufruf der enable-Methode: $( ".selector" ).sortable( "enable" ); |
| option( optionName ) | Objekt | Ruft den Wert ab, der aktuell dem angegebenen zugeordnet istoptionName.
Codebeispiel: Aufruf dieser Methode: var isDisabled = $( ".selector" ).sortable( "option", "disabled" ); |
| option() | PlainObject | Ruft ein Objekt ab, das Schlüssel/Wert-Paare enthält, die den aktuellen Draggable-Options-Hash darstellen.
Codebeispiel: Aufruf dieser Methode: var options = $( ".selector" ).sortable( "option" ); |
| option( optionName, value ) | jQuery (nur Plugin) | Setzt den Sortable-Optionswert, der dem angegebenen zugeordnet ist.optionName.
Codebeispiel: Aufruf dieser Methode: $( ".selector" ).sortable( "option", "disabled", true ); |
| option( options ) | jQuery (nur Plugin) | Legt eine oder mehrere Optionen für das Sortable fest.
Codebeispiel: Aufruf dieser Methode:
$( ".selector" ).sortable( "option", { disabled: true } );
|
| refresh() | jQuery (nur Plugin) | Aktualisiert die Sortable-Elemente. Löst ein Neuladen aller Sortable-Elemente aus, wodurch neue Elemente erkannt werden.
Codebeispiel: Aufruf der refresh-Methode: $( ".selector" ).sortable( "refresh" ); |
| refreshPositions() | jQuery (nur Plugin) | Aktualisiere die zwischengespeicherten Positionen der sortierbaren Elemente. Der Aufruf dieser Methode aktualisiert die zwischengespeicherten Positionen aller sortierbaren Elemente.
Codebeispiel: Aufruf der Methode refreshPositions: $( ".selector" ).sortable( "refreshPositions" ); |
| serialize( options ) | String | Serialisiere die sortierbaren Elementeidin einen per Formular/Ajax übermittelbaren String. Der Aufruf dieser Methode erzeugt einen Hash, der an jede URL angehängt werden kann, um eine neue Elementreihenfolge einfach an den Server zurückzusenden.Standardmäßig funktioniert es über das Hinweis: Wenn die Serialisierung einen leeren String zurückgibt, stelle sicher, dass
Codebeispiel: Aufruf der serialize-Methode:
var sorted = $( ".selector" ).sortable( "serialize", { key: "sort" } );
|
| toArray( options ) | Array | Serialisiere die sortierbaren Elementeidin ein Array aus Zeichenketten.
Codebeispiel: Aufruf der toArray-Methode: var sortedIDs = $( ".selector" ).sortable( "toArray" ); |
| widget() | jQuery | Gibt einjQueryObjekt, das die sortierbaren Elemente enthält.
Codebeispiel: die Widget-Methode var widget = $( ".selector" ).sortable( "widget" ); |
| Ereignisse | Type | Beschreibung |
|---|---|---|
| activate( event, ui ) | sortactivate | Dieses Ereignis wird ausgelöst, wenn bei Verwendung einer verbundenen Liste diese es zu Beginn des Ziehens empfängt.
Codebeispiel: Initialisiert das Sortable mit dem angegebenen activate-Callback:
$( ".selector" ).sortable({
activate: function( event, ui ) {}
});
Bindet einen Event-Listener an das sortactivate-Ereignis:
$( ".selector" ).on( "sortactivate", function( event, ui ) {} );
|
| beforeStop( event, ui ) | sortbeforestop | Dieses Ereignis wird ausgelöst, wenn das Sortieren beendet wird, außer wenn der Platzhalter/Helper noch verfügbar ist.
Codebeispiel: Initialisiere ein sortable mit dem angegebenen beforeStop-Callback:
$( ".selector" ).sortable({
beforeStop: function( event, ui ) {}
});
Binde einen Event-Listener an das sortbeforestop-Event:
$( ".selector" ).on( "sortbeforestop", function( event, ui ) {} );
|
| change( event, ui ) | sortchange | Wird während des Sortierens ausgelöst, außer wenn sich die DOM-Position ändert.
Codebeispiel: Initialisiere ein sortable mit dem angegebenen change-Callback:
$( ".selector" ).sortable({
change: function( event, ui ) {}
});
Binde einen Event-Listener an das sortchange-Event:
$( ".selector" ).on( "sortchange", function( event, ui ) {} );
|
| create( event, ui ) | sortcreate | Wird ausgelöst, wenn das Droppable erstellt wird.
Hinweis: Codebeispiel: Initialisiere ein sortable mit dem angegebenen create-Callback:
$( ".selector" ).sortable({
create: function( event, ui ) {}
});
Binden Sie einen Event-Listener an das sortcreate-Ereignis:
$( ".selector" ).on( "sortcreate", function( event, ui ) {} );
|
| deactivate( event, ui ) | sortdeactivate | Wird ausgelöst, wenn das Sortieren stoppt, und dieses Ereignis wird an alle möglichen verbundenen Listen weitergegeben.
Codebeispiel: Initialisieren Sie ein sortable mit dem angegebenen deactivate-Callback:
$( ".selector" ).sortable({
deactivate: function( event, ui ) {}
});
Binden Sie einen Event-Listener an das sortdeactivate-Ereignis:
$( ".selector" ).on( "sortdeactivate", function( event, ui ) {} );
|
| out( event, ui ) | sortout | Wird ausgelöst, wenn ein sortierbares Element aus einer sortierbaren Liste entfernt wird. Hinweis: Dieses Ereignis wird auch ausgelöst, wenn ein sortierbares Element abgebrochen wird.
Codebeispiel: Initialisieren Sie ein sortable mit dem angegebenen out-Callback:
$( ".selector" ).sortable({
out: function( event, ui ) {}
});
Binden Sie einen Event-Listener an das sortout-Ereignis:
$( ".selector" ).on( "sortout", function( event, ui ) {} );
|
| over( event, ui ) | sortover | Wird ausgelöst, wenn ein sortierbares Element in eine sortierbare Liste verschoben wird.
Codebeispiel: Initialisieren Sie ein Sortable mit dem angegebenen over-Callback:
$( ".selector" ).sortable({
out: function( event, ui ) {}
});
Binden Sie einen Event-Listener an das sortover-Ereignis:
$( ".selector" ).on( "sortout", function( event, ui ) {} );
|
| receive( event, ui ) | sortreceive | Wird ausgelöst, wenn ein Element aus einer verbundenen sortierbaren Liste in eine andere Liste platziert wird. Letztere ist das Ereignisziel.
Codebeispiel: Initialisieren Sie ein Sortable mit dem angegebenen receive-Callback:
$( ".selector" ).sortable({
receive: function( event, ui ) {}
});
Binden Sie einen Event-Listener an das sortreceive-Ereignis:
$( ".selector" ).on( "sortreceive", function( event, ui ) {} );
|
| remove( event, ui ) | sortremove | Wird ausgelöst, wenn ein Element aus einer verbundenen sortierbaren Liste in eine andere Liste platziert wird. Erstere ist das Ereignisziel.
Codebeispiel: Initialisieren Sie ein Sortable mit dem angegebenen remove-Callback:
$( ".selector" ).sortable({
remove: function( event, ui ) {}
});
Binden Sie einen Event-Listener an das sortremove-Ereignis:
$( ".selector" ).on( "sortremove", function( event, ui ) {} );
|
| sort( event, ui ) | sortieren | Dieses Ereignis wird während des Sortierens ausgelöst.
Codebeispiel: Initialisieren Sie ein Sortable mit dem angegebenen sort-Callback:
$( ".selector" ).sortable({
sort: function( event, ui ) {}
});
Binden Sie einen Event-Listener an das sort-Ereignis:
$( ".selector" ).on( "sort", function( event, ui ) {} );
|
| start( event, ui ) | sortstart | Dieses Ereignis wird ausgelöst, wenn das Sortieren beginnt.
Codebeispiel: Initialisieren Sie ein sortierbares Element mit dem angegebenen Start-Callback:
$( ".selector" ).sortable({
start: function( event, ui ) {}
});
Binden Sie einen Ereignis-Listener an das sortstart-Ereignis:
$( ".selector" ).on( "sortstart", function( event, ui ) {} );
|
| stop( event, ui ) | sortstop | Dieses Ereignis wird ausgelöst, wenn das Sortieren beendet wird.
Codebeispiel: Initialisieren Sie ein sortierbares Element mit dem angegebenen Stop-Callback:
$( ".selector" ).sortable({
stop: function( event, ui ) {}
});
Binden Sie einen Ereignis-Listener an das sortstop-Ereignis:
$( ".selector" ).on( "sortstop", function( event, ui ) {} );
|
| update( event, ui ) | sortupdate | Dieses Ereignis wird ausgelöst, wenn der Benutzer das Sortieren beendet und sich die DOM-Position geändert hat.
Codebeispiel: Initialisieren Sie ein sortierbares Element mit dem angegebenen Update-Callback:
$( ".selector" ).sortable({
update: function( event, ui ) {}
});
Binden Sie einen Ereignis-Listener an das sortupdate-Ereignis:
$( ".selector" ).on( "sortupdate", function( event, ui ) {} );
|
Beispiele
Ein einfaches jQuery UI Sortable-Widget.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>可排序小部件(Sortable Widget)演示</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
</head>
<body>
<ul id="sortable">
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
<li>Item 5</li>
</ul>
<script>$("#sortable").sortable();</script>
</body>
</html>
Andere Erweiterungen