js怎么做拖动模块?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js怎么做拖动模块?相关的知识,希望对你有一定的参考价值。

参考技术A 拖动模块主要是利用mousedown,mousemove,mouseup或者移动端的touchstart,touchmove,touchend事件改变元素的位置等参数实现的。
拖动的时候,根据事件返回的位置值,可以计算出当前移动的距离和角度等。

HMTL5+js 拖动备份

  html增加了拖动事件,这个吸引人的事件该怎么用呢,今天做个整理,以备以后查阅,且分享与到家,欢迎批评指正。

               技术分享

  以上是关于拖放事件的说明。

以下实现一个最简单的例子。

1.建立两个容器(div),添加ondragover事件,个人理解是拖动经过时触发的事件,监听方法( ev.preventDefault())很简单,就是允许放置拖放进来的元素(默认是不允许的);

2.为这两个容器添加ondrop,个人理解是当拖动到一个地方,放开鼠标触发的事件,监听方法是为这个容器添加拖动进来的元素,那添加的元素怎么获得呢,就需要拖动对象传递的参数中获得,拖动对象怎么传递参数,请看第4步,(

ev.preventDefault();
var data = ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data));

3.设置元素可以拖动属性为true,即draggable = ‘true‘

4.为需要拖动的对象添加监听ondragstart,个人理解就是当拖动开始的时候触发的事件,此事件的监听方法是传递本身的参数

ev.dataTransfer.setData("Text", ev.target.id);

 

以上是关于js怎么做拖动模块?的主要内容,如果未能解决你的问题,请参考以下文章

怎么用JS实现当一个div(div可拖动)覆盖另一个div时消失

HMTL5+js 拖动备份

js中sortable怎么获取拖动的东西

axure怎么设置拖动效果

HTML5中Canvas怎么拖动元素

如何实现拖动修改网页中div模块大小