blear.classes.draggable

1Introduction

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,相对于窗口)

6Dependencies