1Introduction
- description:可拖拽的类
- author:ydr.me
- create:2016-04-25 11:27
- update:2018年06月20日19:19:10
- github:https://github.com/blearjs/blear.classes.draggable
2Example
var Draggable = require('blear.class.draggable');
var draggable = new Draggable({
containerEl: '#demo'
});
3Static
3.1.defaults
3.1.1.defaults.containerEl
- 类型:
HTMLElement | String | null
- 说明:容器,不能为空
- 默认:
null
3.1.2.defaults.effectedSelector
- 类型:
HTMLElement | String | null
- 说明:拖拽被影响者
- 默认:
containerEl
3.1.3.defaults.handleSelector
- 类型:
HTMLElement | String | null
- 说明:拖拽处理者
- 默认:
effectedSelector
三者关系:
<ul> --------------------> container
<li> ----------------> effected
<header/> -------> handle
<body/>
<footer/>
</li>
...
</ul>
3.1.4.defaults.shadow
- 类型:
Boolean
- 说明:是否拖拽是出现影子来代替移动
- 默认:
true
3.1.5.defaults.preventDefault
- 类型:
Boolean
- 说明:是否取消默认
- 默认:
true
3.1.6.defaults.draggable
- 类型:
Boolean
- 说明:是否可拖动,设置为 false 时让继承者去处理
- 默认:
true
3.1.7.defaults.axis
- 类型:
String
- 说明:坐标轴
- 默认:
xy
3.1.8.defaults.zIndex
- 类型:
Number
- 说明:层级值
- 默认:
9999
3.1.9.defaults.resizeAnimation(el, to, done): undefined
- 类型:
Function
- 说明:位置变化动画
- 默认:
null
3.1.9.1el
- 类型:
HTMLElement | String | null
- 说明:元素
3.1.9.2to
- 类型:
Object
- 说明:位置变化动画设置
3.1.9.3done
- 类型:
Function
- 说明:动画执行完毕回调
4Prototype
原型属性、方法
4.1#enable(): draggable
启用拖拽
4.1.1Draggable
- 类型:
Draggable
- 说明:支持链式调用
4.2#disable(): Draggable
禁用拖拽
4.2.1draggable
- 类型:
Draggable
- 说明:支持链式调用
4.3#preventDefault(): draggable
阻止默认
4.3.1draggable
- 类型:
Draggable
- 说明:支持链式调用
4.4#allowDefault(): draggable
允许默认
4.4.1draggable
- 类型:
Draggable
- 说明:支持链式调用
4.5#horizontal([boolean]): *
获取、设置水平方向拖动能力
4.5.1boolean
- 类型:
Boolean
- 说明:设置是否可以水平方向拖动
4.5.2*
- 类型:
*
- 说明:无
boolean
参数时,获取水平方向拖动能力,返回Boolean
。反之是设置水平方向拖动能力,返回当前实例化对象Draggable
。
4.6#vertical([boolean]): *
获取、设置垂直方向拖动能力
4.6.1boolean
- 类型:
Boolean
- 说明:设置是否可以垂直方向拖动
4.6.2*
- 类型:
*
- 说明:无
boolean
参数时,获取垂直方向拖动能力,返回Boolean
。反之是设置垂直方向拖动能力,返回当前实例化对象Draggable
。
4.7#zIndex([zIndex]): *
获取、设置层级
4.7.1zIndex
- 类型:
Number
- 说明:层级值
4.7.2*
- 类型:
*
- 说明:无
zIndex
参数时,获取层级值,返回Number
。反之是设置层级值,返回当前实例化对象Draggable
。
4.8#destroy(): undefined
销毁实例
5Events
5.1dragStart(meta)
拖拽开始的时候触发。
5.1.1meta.containerEl
- 类型:
HTMLElement
- 说明:容器元素
5.1.2meta.effectedEl
- 类型:
HTMLElement
- 说明:影响元素
5.1.3meta.handleEl
- 类型:
HTMLElement
- 说明:应用元素
5.1.4meta.startX
- 类型:
Number
- 说明:拖拽开始时鼠标位置横坐标(clientX,相对于窗口)
5.1.5meta.startY
- 类型:
Number
- 说明:拖拽开始时鼠标位置纵坐标(clientY,相对于窗口)
5.1.6meta.startTime
- 类型:
Number
- 说明:拖拽开始时间
5.1.7meta.originalEvent
- 类型:
Event
- 说明:原始事件
5.2dragMove(meta)
拖拽过程中触发。继承 dragStart(meta)
。
5.2.1meta.moveX
- 类型:
Number
- 说明:拖拽中鼠标位置横坐标(clientX,相对于窗口)
5.2.2meta.moveY
- 类型:
Number
- 说明:拖拽中鼠标位置纵坐标(clientY,相对于窗口)
5.2.3meta.deltaX
- 类型:
Number
- 说明:拖拽中鼠标水平移动距离(相对于鼠标开始移动时)
5.2.4meta.deltaY
- 类型:
Number
- 说明:拖拽中鼠标垂直移动距离(相对于鼠标开始移动时)
5.3dragEnd(meta)
拖拽结束时触发。继承 dragStart(meta)
。
5.3.1meta.endX
- 类型:
Number
- 说明:拖拽结束时鼠标位置横坐标(clientX,相对于窗口)
5.3.2meta.endY
- 类型:
Number
- 说明:拖拽结束时鼠标位置纵坐标(clientY,相对于窗口)