JQuery UI - sortable

[javascript]  view plain copy
  1. ·概述  
  2. Selectable插件允许用户对指定的元素进行选中的动作。此外还支持按住Ctrl键单击或拖拽选择多个元素。  
  3. 官方示例地址:http://jqueryui.com/demos/sortable/  
  4.   
  5. 所有的事件回调函数都有两个参数:event和ui,浏览器自有event对象,和经过封装的ui对象  
  6. ui.helper - 表示sortable元素的JQuery对象,通常是当前元素的克隆对象  
  7. ui.position - 表示相对当前对象,鼠标的坐标值对象{top,left}  
  8. ui.offset - 表示相对于当前页面,鼠标的坐标值对象{top,left}  
  9. ui.item - 表示当前拖拽的元素  
  10. ui.placeholder - 占位符(如果有定义的话)  
  11. ui.sender - 当前拖拽元素的所属sortable对象(仅当元素是从另一个sortable对象传递过来时有用)  
  12.   
  13. ·参数(参数名 : 参数类型 : 默认值)  
  14. appendTo : String : 'parent'  
  15.   Defines where the helper that moves with the mouse is being appended to during the drag (for example, to resolve overlap/zIndex issues).  
  16.   初始:$('.selector').sortable({ appendTo: 'body' });  
  17.   获取:var appendTo = $('.selector').sortable('option''appendTo');  
  18.   设置:$('.selector').sortable('option''appendTo''body');  
  19.   
  20. axis : String : false   
  21.   如果有设置,则元素仅能横向或纵向拖动。可选值:'x''y'  
  22.   初始:$('.selector').sortable({ axis: 'x' });  
  23.   获取:var axis = $('.selector').sortable('option''axis');  
  24.   设置:$('.selector').sortable('option''axis''x');  
  25.   
  26. cancel : Selector : ':input,button'   
  27.   阻止排序动作在匹配的元素上发生。  
  28.   初始:$('.selector').sortable({ cancel: 'button' });  
  29.   获取:var cancel = $('.selector').sortable('option''cancel');  
  30.   设置:$('.selector').sortable('option''cancel''button');  
  31.   
  32. connectWith : Selector : false   
  33.   允许sortable对象连接另一个sortable对象,可将item元素拖拽到另一个中。  
  34.   初始:$('.selector').sortable({ connectWith: '.otherlist' });  
  35.   获取:var connectWith = $('.selector').sortable('option''connectWith');  
  36.   设置:$('.selector').sortable('option''connectWith''.otherlist');  
  37.   
  38. containment : Element, String, Selector : false   
  39.   约束排序动作只能在一个指定的范围内发生。可选值:DOM对象, 'parent''document''window', 或jQuery对象  
  40.   初始:$('.selector').sortable({ containment: 'parent' });  
  41.   获取:var containment = $('.selector').sortable('option''containment');  
  42.   设置:$('.selector').sortable('option''containment''parent');  
  43.   
  44. cursor : String : 'auto'  
  45.   定义在开始排序动作时,如果的样式。  
  46.   初始:$('.selector').sortable({ cursor: 'crosshair' });  
  47.   获取:var cursor = $('.selector').sortable('option''cursor');  
  48.   设置:$('.selector').sortable('option''cursor''crosshair');  
  49.   
  50. cursorAt : Object : false   
  51.   当开始移动时,鼠标定位在的某个位置上(最多两个方向)。可选值:{ top, left, right, bottom }.  
  52.   初始:$('.selector').sortable({ cursorAt: 'top' });  
  53.   获取:var cursorAt = $('.selector').sortable('option''cursorAt');  
  54.   设置:$('.selector').sortable('option''cursorAt''top');  
  55.   
  56. delay : Integer : 0  
  57.   以毫秒为单位,设置延迟多久才激活排序动作。此参数可防止误点击。  
  58.   初始:$('.selector').sortable({ delay: 500 });  
  59.   获取:var delay = $('.selector').sortable('option''delay');  
  60.   设置:$('.selector').sortable('option''delay', 500);  
  61.   
  62. distance : Integer : 1  
  63.   决定至少要在元素上面拖动多少像素后,才正式触发排序动作。  
  64.   初始:$('.selector').sortable({ distance: 30 });  
  65.   获取:var distance = $('.selector').sortable('option''distance');  
  66.   设置:$('.selector').sortable('option''distance', 30);  
  67.   
  68. dropOnEmpty : Boolean : true   
  69.   是否允許拖拽到一個空的sortable对象中。  
  70.   初始:$('.selector').sortable({ dropOnEmpty: false });  
  71.   获取:var dropOnEmpty = $('.selector').sortable('option''dropOnEmpty');  
  72.   设置:$('.selector').sortable('option''dropOnEmpty'false);  
  73.   
  74. forceHelperSize : Boolean : false   
  75.   If true, forces the helper to have a size.  
  76.   初始:$('.selector').sortable({ forceHelperSize: true });  
  77.   获取:var forceHelperSize = $('.selector').sortable('option''forceHelperSize');  
  78.   设置:$('.selector').sortable('option''forceHelperSize'true);  
  79.   
  80. forcePlaceholderSize : Boolean : false  
  81.   If true, forces the placeholder to have a size.  
  82.   初始:$('.selector').sortable({ forcePlaceholderSize: true });  
  83.   获取:var forcePlaceholderSize = $('.selector').sortable('option''forcePlaceholderSize');  
  84.   设置:$('.selector').sortable('option''forcePlaceholderSize'true);  
  85.   
  86. grid : Array : false   
  87.   将排序对象的item元素视为一个格子处理,每次移动都按一个格子大小移动,数组值:[x,y]  
  88.   初始:$('.selector').sortable({ grid: [50, 20] });  
  89.   获取:var grid = $('.selector').sortable('option''grid');  
  90.   设置:$('.selector').sortable('option''grid', [50, 20]);  
  91.   
  92. handle : Selector, Element : false   
  93.   限制排序的动作只能在item元素中的某个元素开始。  
  94.   初始:$('.selector').sortable({ handle: 'h2' });  
  95.   获取:var handle = $('.selector').sortable('option''handle');  
  96.   设置:$('.selector').sortable('option''handle''h2');  
  97.   
  98. helper : String, Function : 'original'   
  99.   设置是否在拖拽元素时,显示一个辅助的元素。可选值:'original''clone'  
  100.   初始:$('.selector').sortable({ helper: 'clone' });  
  101.   获取:var helper = $('.selector').sortable('option''helper');  
  102.   设置:$('.selector').sortable('option''helper''clone');  
  103.   
  104. items : Selector : '> *'   
  105.   指定在排序对象中,哪些元素是可以进行拖拽排序的。  
  106.   初始:$('.selector').sortable({ items: 'li' });  
  107.   获取:var items = $('.selector').sortable('option''items');  
  108.   设置:$('.selector').sortable('option''items''li');  
  109.   
  110. opacity : Float : false   
  111.   定义当排序时,辅助元素(helper)显示的透明度。  
  112.   初始:$('.selector').sortable({ opacity: 0.6 });  
  113.   获取:var opacity = $('.selector').sortable('option''opacity');  
  114.   设置:$('.selector').sortable('option''opacity', 0.6);  
  115.   
  116. placeholderType: StringDefault: false   
  117.   设置当排序动作发生时,空白占位符的CSS样式。  
  118.   初始:$('.selector').sortable({ placeholder: 'ui-state-highlight' });  
  119.   获取:var placeholder = $('.selector').sortable('option''placeholder');  
  120.   设置:$('.selector').sortable('option''placeholder''ui-state-highlight');  
  121.   
  122. revert : Boolean : false  
  123.   如果设置成true,则被拖拽的元素在返回新位置时,会有一个动画效果。  
  124.   初始:$('.selector').sortable({ revert: true });  
  125.   获取:var revert = $('.selector').sortable('option''revert');  
  126.   设置:$('.selector').sortable('option''revert'true);  
  127.   
  128. scroll : Boolean : true  
  129.   如果设置成true,则元素被拖动到页面边缘时,会自动滚动。  
  130.   初始:$('.selector').sortable({ scroll: false });  
  131.   获取:var scroll = $('.selector').sortable('option''scroll');  
  132.   设置:$('.selector').sortable('option''scroll'false);  
  133.   
  134. scrollSensitivity : Integer : 20   
  135.   设置当元素移动至边缘多少像素时,便开始滚动页面。  
  136.   初始:$('.selector').sortable({ scrollSensitivity: 40 });  
  137.   获取:var scrollSensitivity = $('.selector').sortable('option''scrollSensitivity');  
  138.   设置:$('.selector').sortable('option''scrollSensitivity', 40);  
  139.   
  140. scrollSpeed : Integer : 20  
  141.   设置页面滚动的速度。  
  142.   初始:$('.selector').sortable({ scrollSpeed: 40 });  
  143.   获取:var scrollSpeed = $('.selector').sortable('option''scrollSpeed');  
  144.   设置:$('.selector').sortable('option''scrollSpeed', 40);  
  145.   
  146. tolerance : String : 'intersect'  
  147.   设置当拖动元素越过其它元素多少时便对元素进行重新排序。可选值:'intersect''pointer'  
  148.   intersect:至少重叠50%  
  149.   pointer:鼠标指针重叠元素  
  150.   初始:$('.selector').sortable({ tolerance: 'pointer' });  
  151.   获取:var tolerance = $('.selector').sortable('option''tolerance');  
  152.   设置:$('.selector').sortable('option''tolerance''pointer');  
  153.   
  154. zIndex : Integer : 1000  
  155.   设置在排序动作发生时,元素的z-index值。  
  156.   初始:$('.selector').sortable({ zIndex: 5 });  
  157.   获取:var zIndex = $('.selector').sortable('option''zIndex');  
  158.   设置:$('.selector').sortable('option''zIndex', 5);  
  159.   
  160.   
  161. ·事件  
  162.   
  163. start  
  164.   当排序动作开始时触发此事件。  
  165.   定义:$('.selector').sortable({ start: function(event, ui) { ... } });  
  166.   绑定:$('.selector').bind('sortstart'function(event, ui) { ... });  
  167.   
  168. sort  
  169.   当元素发生排序时触发此事件。  
  170.   定义:$('.selector').sortable({ sort: function(event, ui) { ... } });  
  171.   绑定:$('.selector').bind('sort'function(event, ui) { ... });  
  172.   
  173. change  
  174.   当元素发生排序且坐标已发生改变时触发此事件。  
  175.   定义:$('.selector').sortable({ change: function(event, ui) { ... } });  
  176.   绑定:$('.selector').bind('sortchange'function(event, ui) { ... });  
  177.   
  178. beforeStop  
  179.   当排序动作结束之前触发此事件。此时占位符元素和辅助元素仍有效。  
  180.   定义:$('.selector').sortable({ beforeStop: function(event, ui) { ... } });  
  181.   绑定:$('.selector').bind('sortbeforeStop'function(event, ui) { ... });  
  182.   
  183. stop  
  184.   当排序动作结束时触发此事件。  
  185.   定义:$('.selector').sortable({ stop: function(event, ui) { ... } });  
  186.   绑定:$('.selector').bind('sortstop'function(event, ui) { ... });  
  187.   
  188. update  
  189.   当排序动作结束时且元素坐标已经发生改变时触发此事件。  
  190.   定义:$('.selector').sortable({ update: function(event, ui) { ... } });  
  191.   绑定:$('.selector').bind('sortupdate'function(event, ui) { ... });  
  192.   
  193. receive  
  194.   当一个已连接的sortable对象接收到另一个sortable对象的元素后触发此事件。  
  195.   定义:$('.selector').sortable({ receive: function(event, ui) { ... } });  
  196.   绑定:$('.selector').bind('sortreceive'function(event, ui) { ... });  
  197.   
  198. over  
  199.   当一个元素拖拽移入另一个sortable对象后触发此事件。  
  200.   定义:$('.selector').sortable({ over: function(event, ui) { ... } });  
  201.   绑定:$('.selector').bind('sortover'function(event, ui) { ... });  
  202.   
  203. out  
  204.   当一个元素拖拽移出sortable对象移出并进入另一个sortable对象后触发此事件。  
  205.   定义:$('.selector').sortable({ out: function(event, ui) { ... } });  
  206.   绑定:$('.selector').bind('sortout'function(event, ui) { ... });  
  207.   
  208. activate  
  209.   当一个有使用连接的sortable对象开始排序动作时,所有允许的sortable触发此事件。  
  210.   定义:$('.selector').sortable({ activate: function(event, ui) { ... } });  
  211.   绑定:$('.selector').bind('sortactivate'function(event, ui) { ... });  
  212.   
  213. deactivate  
  214.   当一个有使用连接的sortable对象结束排序动作时,所有允许的sortable触发此事件。  
  215.   定义:$('.selector').sortable({ deactivate: function(event, ui) { ... } });  
  216.   绑定:$('.selector').bind('sortdeactivate'function(event, ui) { ... });  
  217.   
  218.   
  219. ·方法  
  220. destory  
  221.   从元素中移除拖拽功能。  
  222.   用法:.sortable( 'destroy' )  
  223.   
  224. disable  
  225.   禁用元素的拖拽功能。  
  226.   用法:.sortable( 'disable' )  
  227.   
  228. enable  
  229.   启用元素的拖拽功能。  
  230.   用法:.sortable( 'enable' )  
  231.   
  232. option  
  233.   获取或设置元素的参数。  
  234.   用法:.sortable( 'option' , optionName , [value] )  
  235.   
  236. serialize  
  237.   获取或设置序列化后的每个item元素的id属性。  
  238.   用法:.sortable( 'serialize' , [options] )  
  239.   
  240. toArray  
  241.   获取序列化后的每个item元素的id属性的数组。  
  242.   用法:.sortable( 'toArray' )  
  243.   
  244. refresh  
  245.   手动重新刷新当前sortable对象的item元素的排序。  
  246.   用法:.sortable( 'refresh' )  
  247.   
  248. refreshPositions  
  249.   手动重新刷新当前sortable对象的item元素的坐标,此方法可能会降低性能。  
  250.   用法:.sortable( 'refreshPositions' )  
  251.   
  252. cancel  
  253.   取消当前sortable对象中item元素的排序改变。  
  254.   用法:.sortable( 'cancel' )  

你可能感兴趣的:(JQuery UI - sortable)