美文网首页
HTML5拖拽drag和drop

HTML5拖拽drag和drop

作者: 过闹市 | 来源:发表于2018-07-07 22:58 被阅读0次

最近为公司编写基于react的树组件,用到了HTML5的新特性,drag和drop。一时兴起,总觉得应该将自己的使用心得记录下来。

html

<div id="droptarget"></div>

/* 如果不设置draggable属性,元素将无法被拖拽 */

<div id="dragtarget" draggable>拖动我</div>

ondragstart

当开始拖拽目标时,该事件立即触发,此时,可以在事件中设置拖拽的数据类型和数据。

这个事件绑定在你想要拖动的元素上。

document.addEventListener('dragtarget',function(event){

    event.stopPropagation();       

    event.preventDefault();

    //设置拖拽的数据类型和数据

    event.dataTransfer.setData('text', event.target.id)

});

ondragover

当拖动的元素拖动到目标容器内,未释放鼠标时,触发该事件,这个事件绑定在你想要拖动到的目标容器上。

document.addEventListener('droptarget', function(event){

    event.stopPropagation(); 

    event.preventDefault(); //这句代码必须设置,否则拖拽会被禁止

});

ondargenter

当元素进入目标容器时,触发该事件,这个事件也和上面的一样,绑定在目标容器上。

document.addEventListener('dragenter', function(event){

    event.stopPropagation(); 

    event.preventDefault(); 

    //可以做一些改变样式的操作

});

ondragleave

当元素离开目标容器时,触发该事件,这个事件同样绑定在目标容器上。

document.addEventListener('dragleave', function(event){

    event.stopPropagation(); 

    event.preventDefault(); 

    //可以做一些改变样式的操作

});

ondrop

当拖动元素进入目标容器后,释放鼠标时,触发该事件,该事件绑定在目标容器上。

document.addEventListener('drop', function(event){

    event.stopPropagation(); 

    event.preventDefault(); 

    //获取dataTransfer的值,并且只能在drop事件中获取

    event.dataTransfer.getData('text')

});

event.dataTransfer.effectAllowed

该属性含有六个值,具体效果可以自己去菜鸟教程里面进行试验,该属性的值在dragstart中设置

event.dataTransfer.dropEffect

该属性值与上面的event.dataTransfer.effectAllowed连用,如,将effectAllowed设置为move,那么该属性的值只能设置为move,否则拖拽将会被禁止。

相关文章

  • 控件拖拽

    JavaScript实现最简单的拖拽效果 HTML5 drag & drop 拖拽与拖放简介 基于HTML5 dr...

  • HTML5 drag & drop --- 初期尝试

    HTML5:drag & drop API 绑定在拖拽目标 绑定在放置目标 实操 编写代码 总结 drag & d...

  • HTML5 拖放笔记

    HTML5拖放(Drag 和 Drop) 拖放(Drag 和 drop)是 HTML5 标准的组成部分。 拖放 拖...

  • HTML5拖放

    1、HTML5 拖放(Drag 和 Drop) 拖放(Drag 和 drop)是 HTML5 标准的组成部分。 拖...

  • HTML5 拖放(Drag 和 Drop)

    HTML5 拖放(Drag 和 Drop) 拖放(Drag 和 drop)是 HTML5 标准的组成部分。 将w3...

  • RobotFramework拖拽滑块

    Drag And Drop By Offset 登录时长遇到拖拽滑块进行登录的场景,使用Drag And Drop...

  • 关于拖放的笔记

    angular因为是双向数据流,处理拖拽后的数据变化比较方便,用过原生的html5拖放(drag和drop)、an...

  • HTML5拖拽drag和drop

    最近为公司编写基于react的树组件,用到了HTML5的新特性,drag和drop。一时兴起,总觉得应该将自己的使...

  • 5-28 ---- 6-5 号

    1 : HTML5新增了哪些内容或API,使用过哪些 新特性: 1.拖拽释放(Drag and drop) API...

  • 第十周单词表

    enctype:编码格式; drag:拖拽; drop:落下; emitter:发射器

网友评论

      本文标题:HTML5拖拽drag和drop

      本文链接:https://www.haomeiwen.com/subject/muhnuftx.html