H5 拖放

2017-10-12  本文已影响0人  闫子扬

创建拖放对象

draggable 通过draggable告诉浏览器哪些元素需要实现拖拽功能。
有三个可选值:

  1. true:元素可以被拖拽。
  2. false:元素不能被拖拽。
  3. auto:浏览器自己判断元素是否能被拖拽(默认)

处理拖放事件

  1. 对象拖放事件
    dragstart:按下鼠标键并开始移动时触发。
    drag:在元素拖拽过程中持续触发————>相似与mousemove。
    dragend:元素拖拽停止时触发。

  2. 对象拖放事件流程
    ondragstart:设置被拖图片边框色。

     img.ondragstart = function(event){
         event.target.className = 'red';
     }
    

ondrag:显示被拖图片的alt。

    img.ondrage = function(event){
        div.innerHTML = event.target.alt;
    }

ondragend:边框色恢复原始状态。

    img.ondragend = function(event){
        event.target.className = '';
    }
  1. 投放区事件流程
    元素被拖动到有效的放置目标时,下列事件会依次发生:
    1. dragenter:当拖拽对象进入投放区时触发。
    2. dragover:拖拽对象在投放区内移动时持续触发。
    3. dragleave:元素被拖出了投放区时触发。
    4. drop:拖拽对象投放在投放区时触发。

虽然所有元素都支持放置目标事件,但这些元素默认是不允许放置的,需要重写事件的默认行为。

box.ondragenter = function(event){
    event.preventDefault();
}
box.ondragover = function(event){
    event.preventDefault();
}

在ondragover中一定要执行preventDefault()否则ondrop事件不会被触发。

dataTransfer对象方法

分享

常用分享工具

  1. jiathis:http://www.jiathis.com/
  2. bshare:http://www.bshare.cn/
  3. 百度:http://share.baidu.com/
上一篇 下一篇

猜你喜欢

热点阅读