JQuery UI - draggable(转)
·概述
在任何DOM元素启用拖动功能。通过单击鼠标并拖动对象在窗口内的任何地方移动。
官方示例地址:http://jqueryui.com/demos/draggable/ 所有的事件回调函数都有两个参数:event和ui,浏览器自有event对象,和经过封装的ui对象
ui.helper - 表示被拖拽的元素的JQuery对象
ui.position - 表示相对当前对象,鼠标的坐标值对象{top,left}
ui.offset - 表示相对于当前页面,鼠标的坐标值对象{top,left} ·参数(参数名 : 参数类型 : 默认值)
addClasses : Boolean : true
如果设置成false,将在加载时阻止ui-draggable样式的加载。
当有很多对象要加载draggable()插件的情况下,这将对性能有极大的优化。
初始: $('.selector').draggable({ addClasses: false });
获取: var addClasses = $('.selector').draggable('option', 'addClasses');
设置: $('.selector').draggable('option', 'addClasses', false); appendTo : Element,Selector : 'parent'
The element passed to or selected by the appendTo option will be used as the draggable helper's container during dragging. By default, the helper is appended to the same container as the draggable.
初始:$('.selector').draggable({ appendTo: 'body' });
获取:var appendTo = $('.selector').draggable('option', 'appendTo');
设置:$('.selector').draggable('option', 'appendTo', 'body'); axis : String : false
约束拖动的动作只能在X轴或Y轴上执行,可选值:'x', 'y'。
初始:$('.selector').draggable({ axis: 'x' });
获取:var axis = $('.selector').draggable('option', 'axis');
设置:$('.selector').draggable('option', 'axis', 'x'); cancel : Selector : ':input,option'
防止在指定的对象上开始拖动。
初始:$('.selector').draggable({ cancel: 'button' });
获取:var cancel = $('.selector').draggable('option', 'cancel');
设置:$('.selector').draggable('option', 'cancel', 'button'); connectToSortable : Selector : false
允许draggable被拖拽到指定的sortables中,如果使用此选项helper属性必须设置成clone才能正常工作。
初始:$('.selector').draggable({ connectToSortable: 'ul#myList' });
获取:var connectToSortable = $('.selector').draggable('option', 'connectToSortable');
设置:$('.selector').draggable('option', 'connectToSortable', 'ul#myList'); containment : Selector,Element,String, Array : false
强制draggable只允许在指定元素或区域的范围内移动,可选值:'parent', 'document', 'window', [x1, y1, x2, y2].
初始:$('.selector').draggable({ containment: 'parent' });
获取:var containment = $('.selector').draggable('option', 'containment');
设置:$('.selector').draggable('option', 'containment', 'parent'); cursor : String : 'auto'
指定在做拖拽动作时,鼠标的CSS样式。
初始:$('.selector').draggable({ cursor: 'crosshair' });
获取:var cursor = $('.selector').draggable('option', 'cursor');
设置:$('.selector').draggable('option', 'cursor', 'crosshair'); cursorAt : Object : false
当开始移动时,鼠标定位在的某个位置上(最多两个方向)。可选值:{ top, left, right, bottom }.
初始:$('.selector').draggable({ cursorAt: { left: 5 } });
获取:var cursorAt = $('.selector').draggable('option', 'cursorAt');
设置:$('.selector').draggable('option', 'cursorAt', { left: 5 }); delay : Integer : 0
当鼠标点下后,延迟指定时间后才开始激活拖拽动作(单位:毫秒)。此选项可以用来防止不想要的拖累元素时的误点击。
初始:$('.selector').draggable({ delay: 500 });
获取:var delay = $('.selector').draggable('option', 'delay');
设置:$('.selector').draggable('option', 'delay', 500); distance : Integer : 1
当鼠标点下后,只有移动指定像素后才开始激活拖拽动作。
初始:$('.selector').draggable({ distance: 30 });
获取:var distance = $('.selector').draggable('option', 'distance');
设置:$('.selector').draggable('option', 'distance', 30); grid : Array : false
拖拽元素时,只能以指定大小的方格进行拖动。可选值:[x,y]
初始:$('.selector').draggable({ grid: [50, 20] });
获取:var grid = $('.selector').draggable('option', 'grid');
设置:$('.selector').draggable('option', 'grid', [50, 20]); handle : Element, Selector : false
限制只能在拖拽元素内的指定元素开始拖拽。
初始:$('.selector').draggable({ handle: 'h2' });
获取:var handle = $('.selector').draggable('option', 'handle');
设置:$('.selector').draggable('option', 'handle', 'h2'); helper : String, Function : 'original'
拖拽元素时的显示方式。(如果是函数,必须返回值是一个DOM元素)可选值:'original', 'clone', Function
初始:$('.selector').draggable({ helper: 'clone' });
获取:var helper = $('.selector').draggable('option', 'helper');
设置:$('.selector').draggable('option', 'helper', 'clone'); iframeFix : Boolean, Selector : false
可防止当mouseover事件触发拖拽动作时,移动过iframes并捕获到它(内部内容),如果设置成true,则屏蔽层会覆盖页面的iframe。如果设置成对应的选择器,则屏蔽层会覆盖相匹配的iframe。
初始:$('.selector').draggable({ iframeFix: true });
获取:var iframeFix = $('.selector').draggable('option', 'iframeFix');
设置:$('.selector').draggable('option', 'iframeFix', true); opacity : Float : false
当元素开始拖拽时,改变元素的透明度。
初始:$('.selector').draggable({ opacity: 0.35 });
获取:var opacity = $('.selector').draggable('option', 'opacity');
设置:$('.selector').draggable('option', 'opacity', 0.35); refreshPositions : Boolean : false
如果设置成true,所有移动过程中的坐标都会被记录。(注意:此功能将影响性能)
初始:$('.selector').draggable({ refreshPositions: true });
获取:var refreshPositions = $('.selector').draggable('option', 'refreshPositions');
设置:$('.selector').draggable('option', 'refreshPositions', true); revert : Boolean, String : false
当元素拖拽结束后,元素回到原来的位置。
初始:$('.selector').draggable({ revert: true });
获取:var revert = $('.selector').draggable('option', 'revert');
设置:$('.selector').draggable('option', 'revert', true); revertDuration : Integer : 500
当元素拖拽结束后,元素回到原来的位置的时间。(单位:毫秒)
初始:$('.selector').draggable({ revertDuration: 1000 });
获取:var revertDuration = $('.selector').draggable('option', 'revertDuration');
设置:$('.selector').draggable('option', 'revertDuration', 1000); scope : String : 'default'
设置元素只允许拖拽到具有相同scope值的元素。
初始:$('.selector').draggable({ scope: 'tasks' });
获取:var scope = $('.selector').draggable('option', 'scope');
设置:$('.selector').draggable('option', 'scope', 'tasks'); scroll : Boolean : true
如果设置为true,元素拖拽至边缘时,父容器将自动滚动。
初始:$('.selector').draggable({ scroll: false });
获取:var scroll = $('.selector').draggable('option', 'scroll');
设置:$('.selector').draggable('option', 'scroll', false); scrollSensitivity : Integer : 20
当元素拖拽至边缘时,父窗口一次滚动的像素。
初始:$('.selector').draggable({ scrollSensitivity: 40 });
获取:var scrollSensitivity = $('.selector').draggable('option', 'scrollSensitivity');
设置:$('.selector').draggable('option', 'scrollSensitivity', 40); scrollSpeed : Integer : 20
当元素拖拽至边缘时,父窗口滚动的速度。
初始:$('.selector').draggable({ scrollSpeed: 40 });
获取:var scrollSpeed = $('.selector').draggable('option', 'scrollSpeed');
设置:$('.selector').draggable('option', 'scrollSpeed', 40); snap : Boolean, Selector : false
当设置为true或元素标签时,元素拖动到其它元素的边缘时,会自动吸附其它元素。
初始:$('.selector').draggable({ snap: 'span' });
获取:var snap = $('.selector').draggable('option', 'snap');
设置:$('.selector').draggable('option', 'snap', 'span'); snapMode : String : 'both'
确定拖拽的元素吸附的模式。可选值:'inner', 'outer', 'both'
初始:$('.selector').draggable({ snapMode: 'outer' });
获取:var snapMode = $('.selector').draggable('option', 'snapMode');
设置:$('.selector').draggable('option', 'snapMode', 'outer'); snapTolerance : Integer : 20
确定拖拽的元素移动至其它元素多少像素的距离时,发生吸附的动作。
初始:$('.selector').draggable({ snapTolerance: 40 });
获取:var snapTolerance = $('.selector').draggable('option', 'snapTolerance');
设置:$('.selector').draggable('option', 'snapTolerance', 40); stack : Object : false
Controls the z-Index of the defined group (key 'group' in the hash, accepts jQuery selector) automatically, always brings to front the dragged item. Very useful in things like window managers. Optionally, a 'min' key can be set, so the zIndex cannot go below that value.
初始:$('.selector').draggable({ stack: { group: 'products', min: 50 } });
获取:var stack = $('.selector').draggable('option', 'stack');
设置:$('.selector').draggable('option', 'stack', { group: 'products', min: 50 }); zIndex : Integer : false
控制当拖拽元素时,改变元素的z-index值。
初始:$('.selector').draggable({ zIndex: 2700 });
获取:var zIndex = $('.selector').draggable('option', 'zIndex');
设置:$('.selector').draggable('option', 'zIndex', 2700); ·事件
start
当鼠标开始拖拽时,触发此事件。
初始:$('.selector').draggable({ start: function(event, ui){...} });
绑定:$('.selector').bind('dragstart', function(event, ui){...}); drag
当鼠标拖拽移动时,触发此事件。
初始:$('.selector').draggable({ drag: function(event, ui){...} });
绑定:$('.selector').bind('drag', function(event, ui){...}); stop
当鼠标松开时,触发此事件。
初始:$('.selector').draggable({ stop: function(event, ui){...} });
绑定:$('.selector').bind('dragstop', function(event, ui){...}); ·方法
destory
从元素中移除拖拽功能。
用法:.draggable( 'destroy' ) disable
禁用元素的拖拽功能。
用法:.draggable( 'disable' ) enable
启用元素的拖拽功能。
用法:.draggable( 'enable' ) option
获取或设置元素的参数。
用法:.draggable( 'option' , optionName , [value] )
JQuery UI - draggable(转)的更多相关文章
- 让 jQuery UI draggable 适配移动端
背景: 在移动端,本人要实现对某个元素的拖动,想到使用 jQuery UI 的 draggable 功能.但是发现此插件的拖动只支持PC端,不支持移动端. 原因: 原始的 jQuery UI 里,都是 ...
- JQuery UI Draggable插件使用说明文档
JQuery UI Draggable插件用来使选中的元素可以通过鼠标拖动.Draggable的元素受css: ui-draggable影响, 拖动过程中的css: ui-draggable-drag ...
- jquery ui draggable,droppable 学习总结
刚接触的时候,分不清draggable和droppable的区别,瞎弄了一会,其实很简单,draggable就是“拖”的功能,droppable就是“放”的功能. draggable()是被拖动的元素 ...
- jQuery UI - draggable 中文API
·概述 在任何DOM元素启用拖动功能.通过单击鼠标并拖动对象在窗口内的任何地方移动. 官方示例地址:http://jqueryui.com/demos/draggable/ 所有的事件回调函数都有两个 ...
- JQuery UI - draggable参数中文详细说明
概述 在任何DOM元素启用拖动功能.通过单击鼠标并拖动对象在窗口内的任何地方移动. 官方示例地址:http://jqueryui.com/demos/draggable/ 所有的事件回调函数都有两个参 ...
- jquery UI Draggable和Droppable 案例
<html> <head><title>draggable</title> <script type="text/javascript& ...
- Jquery ui draggable在chrome和ie7下的bug
当页面足够长,向下滚动一些之后, 在拖动时,被拖动的div会向下产生滚动距离那么高(scrolltop)的差距 鼠标位置距div顶部差距了正好页面scroll的距离,页面scoll越多差的越多. 解决 ...
- jQuery UI Draggable + Sortable 结合使用
工作中需要将一个左边的设计好的控件,拖拽到右边的面板中,同时保持右边面板中的控件自由排序,这时候就需要及支持拖拽又支持排序的操作了, Demo截图:从左边控件拖到右边区域 代码段: <scrip ...
- 【jQuery UI 1.8 The User Interface Library for jQuery】.学习笔记.6.Dialog控件
习惯上,我们播放一条简短的信息,或向浏览者询问一个问题,都会用到dialog. 创建一个基本的dialog 使用dialog 选项 形式 启用内置动画 给dialog添加按钮 使用dialog回调函数 ...
随机推荐
- Linux解决安装包无法找到问题Unable to locate package rar
1:问题 在默认安装的Linux中有时候会找不到需要安装的软件包,那就需要更新了 例如在执行apt-get install xx的时候就报错了 E: Unable to locate package ...
- (转)【风宇冲】Unity3D教程宝典之AssetBundles:第一讲
自:http://blog.sina.com.cn/s/blog_471132920101gz8z.html 原创文章如需转载请注明:转载自风宇冲Unity3D教程学院 ...
- Flask刷新问题
修改页面中内容,特别是图片后,总是刷新不了.调试时,我常常通过修改端口来解决,从80-99不断改. 服务器部署,也遇到同样问题,重启web服务器,重启计算机都不行,网页已经改过来了,但是图片还是老图片 ...
- Window.sessionStorage
The sessionStorage property allows you to access a session Storage object for the current origin. ...
- hdu Boring count(BestCode round #11)
Boring count Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tot ...
- 编程实战——电影管理器之利用MediaInfo获取高清视频文件的相关信息
随着高速(20M)宽带.HTPC.大容量硬盘(3T)的普及,下载高清片并利用大屏幕观看也成为普通的事情. 随着下载影片的增多,管理就有了问题,有时在茫茫文件夹下找寻一个影片也是一件费时费力的事. 于是 ...
- Python爬虫实战(三):爬网易新闻
代码: # _*_ coding:utf-8 _*_ import urllib2 import re #import sys #reload(sys) #sys.setdefaultencoding ...
- javascript数组操作大全,数组方法总汇
1. shift:删除原数组第一项,并返回删除元素的值:如果数组为空则返回undefined var a = [1,2,3,4,5]; var b = a.shift(); //a:[2,3,4,5] ...
- 【树莓派】服务配置相关3:基于Ubuntu Server的服务配置
该文接续之前写过的两篇: [树莓派]服务配置相关 [树莓派]服务配置相关2:基于RPi Desktop的服务配置 这是我个人用来进行树莓派盒子安装配置的脚本,对于外部其他博友,可以部分参考,但不需要逐 ...
- 【Ubuntu】Ubuntu bug “Reached target Shutdown”
在使用 Ubuntu-16.04.3-server-amd64.iso 版本(参考官方,iso下载地址)的时候,遇到一个Ubuntu的Bug,后来查了一下,在官方看到,目前还是Unassigned: ...