HTML5拖拽

201 阅读1分钟

一、功能开启

想拖拽谁,就给谁加上draggable="true",就开启了元素的拖拽功能(firefox除外)

二、信息传递:

event.dataTransfer.setData("key",value);两个参数,注意只能传递字符串和url,
但是在firefox使用text或Text作为key时会打开新的标签页,所以不要用他们作为key。

二、事件:

  • 1.拖动的元素的事件
  • 2.要放置元素的位置的接收事件

注意:要设置了dragover事件,才会触发drop事件
注意:拖拽松开鼠标时,先触发ondragover事件,然后触发ondrop事件,
但在ondragover中的默认动作(就如同<a>标签的默认跳转动作一样)
可能会阻止ondrop事件的发生(不清楚具体原因),
此时需要调用event.preventDefault
(当ondragover事件被触发时会先执行被赋予的触发函数然后才会执行默认动作)阻止默认动作的执行.
$('.container').ondrop = function(){}
$('.container').addEventListenner('drop', function(){})
注册监听器,对应的删除监听器 removeEvenListener