draggable属性和dataTransfer对象
来源:互联网 发布:linux查看centos版本 编辑:程序博客网 时间:2024/05/21 19:23
首先说下HTML5里新增的draggable属性
在Html5中,默认<img.../>和设置了href的<a>是可拖动的,其他都需手动把元素的draggable属性设置为true
然后使元素携带数据应该为被拖动元素的ondragstart(开始拖动触发该事件)事件指定监听器,在监听器中让拖动操作可以携带数据。
之后为了让document接受放的动作,为documen的ondragover事件设定监听器,在监听器中取消document对拖动事件的默认行为。
然而,不同浏览器在元素拖到指定位置释放之后默认的动作是不同的(firefox释放后会跳转到新页面,chrome则没有任何动作),所以
我们要取消拖放操作的默认动作,为document的ondrop绑定监听器
例如,一个允许自由拖动的div:
附:触发事件
再来说下DataTransfer对象
拖放触发的拖放事件有一个dataTransfer的属性,该属性值是一个DataTransfer对象
对象属性:
- dataTransfer.dropEffect:设置或返回拖放目标上允许发生的拖放行为。如果此处设置的拖放行为不再effectAllowed属性设置的多种拖放行为之内,拖放操作将会失败。该属性值只允许为“null”、“copy”、“link”和“move”四值之一。
- dataTransfer.effectAllowed:设置或返回被拖动元素允许发生的拖动行为。该属性值可设为“none”、“copy”、“copyLink”、“copyMove”、“link”、“linkMove”、“move”、“all”和“uninitialized”。
- dataTransfer.items:该属性返回DataTransferItems对象,该对象代表了拖动数据。
- dataTransfer.setDragImage(element,x,y):设置拖放操作的自定义图标。其中element设置自定义图表,x,y分别为鼠标水平方向和竖直方向的距离。
- dataTransfer.addElement(element):添加自定义图标。
- dataTransfer.types:该属性返回一个DOMStringList对象,该对象包括了存入dataTransfer中数据的所有类型。
- dataTransfer.getData(ormat):获取DataTransfer对象中format格式的数据
- dataTransfer.setData(format,data):向DataTransfer对象中设置format格式的数据。
- dataTransfer.clearData([format]):清除DataTransfer对象中format格式的数据,如果省略format,则清楚全部数据。
下面展示一个允许通过拖动来添加,删除”收藏夹“功能
阅读全文
0 0
- draggable属性和dataTransfer对象
- 【js练习】draggable属性和dataTransfer对象
- dataTransfer 对象
- DataTransfer对象
- 2.5.3DataTransfer对象
- JavaScript中的dataTransfer对象
- event对象的dataTransfer对象
- DataTransfer对象的一些总结
- html5 mouseEvent DataTransfer 的setDragImage属性
- 拖放操作之——dataTransfer对象
- HTML5拖放行为——DataTransfer对象
- HTML 5 全局 draggable 属性
- HTML5里拖放和dataTransfer的坑
- Draggable
- JS中dataTransfer对象在拖曳操作中的妙用
- JS dataTransfer 对象在拖拽中的使用
- JavaScript属性和对象
- JS:对象和属性
- FTP服务器搭建
- c++和Python混合编程
- HTTP 错误 403.14
- 【LeetCode】54. Spiral Matrix
- 【怎样写代码】参数化类型 -- 泛型(八):泛型委托
- draggable属性和dataTransfer对象
- iOS播放系统音频的几种方式
- 一个PID控制理解的误区
- NewPanderKing 抬头是山,路在脚下! LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- Python和R数据挖掘分析技术高级公开课在上海举行
- SteamVRPlugin1.2.1在unity5.6.x中样例场景看不到双手
- OLE使用connectiongstring中的UDL文件获取连接字符串
- 女黑客登场:轻松破解APP,共享单车任我骑!
- HTTPCLIENT超时设置