H5拖拽元素

作者: 喵冬 | 来源:发表于2017-03-01 15:10 被阅读0次
拖拽.gif

为了让元素可拖动,需要设置元素的draggable=true属性。
链接和图片默认是可拖动的,不需要 draggable 属性。

在拖动目标上触发事件 (源元素):

  ondragstart - 用户开始拖动元素时触发
  ondrag - 元素正在拖动时触发
  ondragend - 用户完成元素拖动后触发

释放目标时触发的事件:

  ondragenter - 当被拖动的对象进入其容器范围内时触发此事件
  ondragover - 当某一个被拖动的对象在另一对象容器范围内拖动时触发此事件
  ondragleave - 当鼠标拖动的对象离开其容器范围内时触发此事件
  ondrop - 在一个拖动过程中,释放鼠标键时触发此事件

html结构

    <div id="one" class="one">
        <div draggable="true">1</div>
        <div draggable="true">2</div>
    </div>
    <div id="two" class="one"></div>

css

.one{
        width: 230px;
        height: 122px;
        border:1px solid #dcdcdc;
        display: inline-block;
        padding: 20px;
        font-size:0;
    }
    #one{
        margin: 0 100px 0 0;
        vertical-align: top;
    }
    .one div{
        font-size: 15px;
        width: 100px;
        height: 100px;
        border-radius: 50%;
        background: pink;
        display: inline-block;
        text-align: center;
        line-height: 100px;
        cursor: pointer;
        margin:0 10px 10px 0;
    }

js

       var temp = '';//放置被拖拽的对象
       document.addEventListener('dragstart',function(event){
           // 拖拽开始
           temp = event.target;//获取触发事件的元素
           event.target.style.opacity = '0.5';
       },false)
       document.addEventListener('dragend',function(event){
           // 拖拽结束
           event.target.style.opacity = '';
       },false)
       document.addEventListener('dragover',function(event){
           //默认情况下,数据/元素不能在其他元素中被拖放,所以要防止元素的默认处理
           if(event.target.className == 'one'){
               event.preventDefault();
           }
       },false)
       document.addEventListener('drop',function(event){
           event.preventDefault();
           //释放鼠标
           event.target.appendChild( temp );
           event.target.style.borderColor = '';
       },false)
       document.addEventListener('dragenter',function(event){
           // 拖拽对象进入容器范围
           if(event.target.className == 'one'){
               event.target.style.borderColor = 'black';
           }
       },false)
       document.addEventListener('dragleave',function(event){
           //拖拽对象离开容器范围
           if(event.target.className == 'one'){
               event.target.style.borderColor = '';
           }
       },false)

相关文章

  • H5拖拽元素

    为了让元素可拖动,需要设置元素的draggable=true属性。链接和图片默认是可拖动的,不需要 draggab...

  • 拖拽上传

    拖拽事件 拖拽元素ondrag 应用于拖拽元素,整个拖拽过程都会调用ondragstart应用于拖拽元素,...

  • 元素拖曳 H5

    拖拽 如何让一个元素变成拖拽元素 draggable=‘true’ ondrag 应用于拖拽元素,整个拖拽过程都会...

  • HTML5拖拽drag

    通过拖拽实现页面元素的位置改变 实现拖拽效果 源元素 - 要拖拽的文件 目标元素 - 要拖拽到哪里去 目前实现拖拽...

  • Html5 + Css 3 文件拖拽上传功能

    拖拽上传文件功能 拖拽事件 拖拽元素ondrag 应用于拖拽元素,整个拖拽过程都会调用ondragstart应用...

  • js:拖拽事件

    拖拽事件 ondragstart当拖拽元素被开始拖拽时,event:拖拽元素。[从操作系统向浏览器拖拽文件不会触发...

  • HTML5拖拽上传

    传统拖拽效果小demohtml5实现拖拽小demo调查问卷小demo拖拽拼图小demo拖拽上传小demo h5拖拽...

  • H5拖拽drag

    我们在学习拖拽时要注意源元素、目标元素。在拖拽的过程,通过设置源元素、目标元素的相应事件,才能实现拖拽操作。 源元...

  • h5新增元素&废弃元素

    h5新增元素 h5新增表单元素 h5废弃元素

  • Vue小商城学习记录

    初期几天以后补 2018.6.1 用touch事件实现元素拖拽,拖拽元素不能加transition,否则拖拽结束才...

网友评论

    本文标题:H5拖拽元素

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