java中setDragMode方法_DragSelectDoc: 简单的javascript拖动选择选中插件DragSelect文档说明,类似 window 系统文件拖动选择效果...

DragSelect 中文文档

介绍

简单的javascript拖动选择功能插件,类似 window 系统文件拖动选择效果,不依赖任何第三方项目

Demo

安装教程

1.CDN

2.npm

npm install --save dragselect

3.bower

bower install --save dragselect

4.将ds.min.js直接存放至你的网站空间

使用说明

1.一个最基础的实例,填写可被选中的元素

new DragSelect({

selectables: document.getElementsByClassName('selectable-nodes')

});

2.在限定区域内生效,只能在选定的容器内部使用

new DragSelect({

selectables: document.getElementsByClassName('selectable-nodes'),

area: document.getElementById('area')

});

3.其他扩展,所有选项都是可选的,详情看参数和方法

var ds = new DragSelect({

selectables: document.getElementsByClassName('selectable-nodes'), // 可被选中的元素节点

selector: document.getElementById('rectangle'), // 可手动添加一个拖动选择框(译者:可用于修改拖动选择框的样式,需要手动添加 css 的 position:absolute 样式)

area: document.getElementById('area'), // 拖动生效的区域,如果未提供,它将是整个网页文档

customStyles: false, // 如果设置为true,则默认情况下拖动选择框将不应用任何样式(绝对位置除外)

multiSelectKeys: ['ctrlKey', 'shiftKey', 'metaKey'], // 允许多选的特殊键,默认为 ctrl,shift,meta(Mac系统的专有键)

multiSelectMode: false, // 如果设置为true,则默认情况下将启用多选行为,而无需使用多选键,默认值:false

autoScrollSpeed: 3, // 选择时区域滚动的速度(如果有),单位是像素,设置为0以禁用自动滚动,默认值:1

onDragStart: function(element) {}, // 用户点击该区域时触发此回调,在DragSelect函数代码运行之后执行,用于设置事件侦听器

onDragMove: function(element) {}, // 用户拖动该区域时触发此回调,在DragSelect函数代码运行之后执行,用于设置事件侦听器

onElementSelect: function(element) {}, // 每次选择元素时触发的回调函数

onElementUnselect: function(element) {}, // 每次取消选择元素时触发的回调函数

callback: function(elements) {} // 用户释放鼠标后触发,返回所有被选定的元素节点

});

// 如果像我们一样将函数添加到变量中,则可以访问其所有函数

// 然后我们就可以先这样使用 start() 和 stop() 方法了

ds.getSelection(); // 返回所有被选定的元素节点

ds.addSelectables(document.getElementsByClassName('selectable-node')); // 添加可以选择的元素,智能算法保证不会添加同个元素两次

ds.break(); // 在回调中使用以禁用即将执行的代码(译者:暂不知道有什么用)

ds.stop(); // 暂停功能

ds.start(); // 暂停后重启功能

// 还有更多内容,请参见文档中的“方法”部分

参数

所有选项都是可选的

参数

类型

用法

selectables

DOM elements (nodes)

可被选中的元素节点

selector

single DOM element (node)

可手动添加一个拖动选择框(译者:可用于修改拖动选择框的样式,需要手动添加 css 的 position:absolute 样式)

area

single DOM element (node)

拖动生效的区域,如果未提供,它将是整个网页文档

customStyles

boolean

如果设置为true,则默认情况下拖动选择框将不应用任何样式(绝对位置除外)

multiSelectKeys

array

允许切换到多选模式的按键,可选的值有有:ctrlKey,shiftKey,metaKey(Mac系统的专有键)和altKey,默认=['ctrlKey', 'shiftKey', 'metaKey']。如果要关闭功能,请提供一个空数组[]

multiSelectMode

boolean

每次选中新元素时不清空旧的选中元素,默认='false'

autoScrollSpeed

integer

选择时区域滚动的速度(如果有),单位是像素,设置为0以禁用自动滚动,默认值:1

selectedClass

string

分配给选中项目的css类名称

hoverClass

string

分配给鼠标悬停项目的css类名称(译者:并不是很理解这个的含义,估计用的不多)

selectorClass

string

拖动选择框的css类名称

selectableClass

string

给区域内所有可选元素添加的css类名称

onDragStartBegin

function

用户点击该区域时触发此回调,在DragSelect函数代码运行之前执行,用于设置事件侦听器

onDragStart

function

用户点击该区域时触发此回调,在DragSelect函数代码运行之后执行,用于设置事件侦听器

onDragMove

function

用户拖动该区域时触发此回调,在DragSelect函数代码运行之后执行,用于设置事件侦听器

onElementSelect

function

每次选择元素时触发的回调函数

onElementUnselect

function

每次取消选择元素时触发的回调函数

callback

function

用户释放鼠标后触发,返回所有被选定的元素节点

方法

当函数保存到变量var foo = new DragSelect()中时,您可以访问其所有内部函数。

还有更多其他的方法,您可以在官方的文档中找到所有内容,这里只列举最常用的:

method

properties

usage

stop

/

暂停功能

start

/

暂停后重启功能

break

/

在回调中使用以禁用即将执行的代码(译者:暂不知道有什么用)

getSelection

/

Returns all currently selected nodes

addSelection

DOM elements (nodes), Boolean (callback), Boolean (dontAddToSelectables)

adds one or multiple elements to the selection. If boolean is set to true: callback will be called afterwards. By default, it checks if all elements ere alos in the list of selectables and adds them if not (can be turned off by setting the last boolean to true)

removeSelection

DOM elements (nodes), Boolean (callback), Boolean (removeFromSelectables)

removes one or multiple elements to the selection. If boolean is set to true: callback will be called afterwards. If last bolean is set to true, it also removes them from the possible selectable nodes if they were.

toggleSelection

DOM elements (nodes), Boolean (callback), Boolean (special)

toggles one or multiple elements to the selection. If element is not in selection it will be added, if it is already selected, it will be removed. If boolean is set to true: callback will be called afterward. If last boolean is set to true, it also removes selected elements from possible selectable nodes & doesn’t add them to selectables if they are not.

setSelection

DOM elements (nodes), Boolean (callback), Boolean (dontAddToSelectables)

将选择内容设置为一个或多个元素。如果boolean设置为true:回调将在之后被调用。 默认情况下,它检查所有元素是否都在可选列表中,如果不存在则添加它们(可以通过将最后一个布尔值设置为true来关闭)

clearSelection

DOM elements (nodes), Boolean (callback)

从选择中删除所有元素。如果boolean设置为true:回调将在之后被调用。

addSelectables

DOM elements (nodes), Boolean (addToSelection)

添加可以选择的元素。智能的算法可确保节点永远不会被添加两次。如果boolean设置为true:元素也将添加到当前选择中。

removeSelectables

DOM elements (nodes), Boolean (removeFromSelection)

删除可以选择的元素。如果boolean设置为true:元素也将从当前选择中删除。

getSelectables

/

返回所有选中元素节点数组。

setSelectables

DOM elements (nodes), Boolean (removeFromSelection), Boolean (addToSelection)

设置所有可以选择的元素。删除所有当前的可选择项,添加新设置的选项到选项列表。如果应该从选择中删除旧元素,则第一个布尔值为true。如果要将新元素添加到选择中,第二个布尔值为true。

getInitialCursorPosition

/

返回第一次单击时光标的x,y坐标

getCurrentCursorPosition

/

返回当前/上次注册的光标的x,y坐标

getCursorPositionDifference

Boolean (usePreviousCursorDifference)

返回对象的初始和最后光标位置之间的x,y差。如果参数设置为true,则将x,y的差值返回到先前的选择

getCursorPos

Event, Node (_area), Boolean (ignoreScroll)

Returns the cursor x, y coordinates based on a click event object. The click event object is required. By default, takes scroll and area into consideration. Area is this.area by default and can be fully ignored by setting the second argument explicitely to false. Scroll can be ignored by setting the third argument to true.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值