Skip to content

Sortable — is a JavaScript library for reorderable drag-and-drop lists on modern browsers and touch devices. No jQuery. Supports Meteor, AngularJS, React, Polymer, Knockout and any CSS library, e.g. Bootstrap.

Notifications You must be signed in to change notification settings

ashokbasnet/Sortable

 
 

Repository files navigation

Sortable

Features

  • Support touch devices and modern browsers
  • Built using native HTML5 drag and drop API
  • Simple API
  • Lightweight, 2KB gzipped
  • No jQuery

Usage

<ul id="items">
	<li>item 1</li>
	<li>item 2</li>
	<li>item 3</li>
</ul>
new Sortable(items);

Options

new Sortable(elem, {
	group: "name",
	handle: ".my-handle", // Restricts sort start click/touch to the specified element
	draggable: ".item",   // Specifies which items inside the element should be sortable
	ghostClass: "sortable-ghost",
	
	onStart: function (/**Event*/evt) { // dragging
		var itemEl = evt.item;
	},

	onEnd: function (/**Event*/evt) { // dragging
		var itemEl = evt.item;
	},

	onAdd: function (/**Event*/evt){
		var itemEl = evt.item;
	},

	onUpdate: function (/**Event*/evt){
		var itemEl = evt.item; // the current dragged HTMLElement
	},

	onRemove: function (/**Event*/evt){
		var itemEl = evt.item;
	}
});

Sortable.utils

  • on(el:HTMLElement, event:String, fn:Function) — attach an event handler function
  • off(el:HTMLElement, event:String, fn:Function) — remove an event handler
  • css(el:HTMLElement):Object — get the values of all the CSS properties
  • css(el:HTMLElement, prop:String):Mixed — get the value of style properties
  • css(el:HTMLElement, prop:String, value:String) — set one CSS properties
  • css(el:HTMLElement, props:Object) — set more CSS properties
  • find(ctx:HTMLElement, tagName:String[, iterator:Function]):Array — get elements by tag name
  • bind(ctx:Mixed, fn:Function):Function — Takes a function and returns a new one that will always have a particular context
  • closest(el:HTMLElement, selector:String[, ctx:HTMLElement]):HTMLElement|Null — for each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree
  • toggleClass(el:HTMLElement, name:String, state:Boolean) — add or remove one classes from each element

Bitdeli Badge

About

Sortable — is a JavaScript library for reorderable drag-and-drop lists on modern browsers and touch devices. No jQuery. Supports Meteor, AngularJS, React, Polymer, Knockout and any CSS library, e.g. Bootstrap.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 73.7%
  • HTML 20.6%
  • CSS 5.7%