html拖拽事件 上传,关于前端上传文件全面基础扫盲贴(五) ----- H5拖拽事件

系列文章

H5拖拽事件(知识点主要来源于HTML 5 拖放)

其实打算出实战代码的,想想好像可以插多一个拖曳扫盲贴,在PC上传文件也经常能用到的,先来看看有关知识点。

在 HTML5 中,拖放是标准的一部分,任何元素都能够拖放。先看看兼容性如何

bVbvRDT?w=1244&h=284

移动端全线飘红我可以理解的,毕竟不是主要应用交互,

首先,为了使元素可拖动,把 draggable 属性设置为 true :

元素哦

里面的事件有

事件

描述

ondragstart

当拖拽元素开始被拖拽的时候触发的事件,此事件作用在被拖曳元素上

ondragenter

当拖曳元素进入目标元素的时候触发的事件,此事件作用在目标元素上

ondragover

拖拽元素在目标元素上移动的时候触发的事件,此事件作用在目标元素上(默认地,无法将数据/元素放置到其他元素中。如果需要设置允许放置,我们必须阻止对元素的默认处理方式 event.preventDefault() 方法。)

ondrop

被拖拽的元素在目标元素上同时鼠标放开触发的事件,此事件作用在目标元素上

ondragend

当拖拽完成后触发的事件,此事件作用在被拖曳元素上

方法有

方法

作用

setData

设置被拖元素的数据类型和值

getData

返回在 setData() 方法中设置为相同类型的任何数据

实例:

#div1,

#div2 {

width: 200px;

height: 100px;

margin: 10px;

padding: 10px;

border: 1px solid #aaaaaa;

}

#drag {

width: 200px;

height: 100px;

background: red;

}

var text1 = document.querySelector('#text1'),

text2 = document.querySelector('#text2'),

drag = document.querySelector('#drag'),

div1 = document.querySelector('#div1'),

div2 = document.querySelector('#div2');

drag.ondragstart = function (ev) {

text1.innerHTML = '拖拽元素开始被拖拽';

text2.innerHTML = '';

ev

.dataTransfer

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

};

drag.ondragend = function (ev) {

text1.innerHTML = '拖拽完成';

};

function allowDrop(ev) {

ev.preventDefault();

}

function dragenter(ev) {

text2.innerHTML = '拖曳元素进入目标元素';

}

function drop(ev) {

ev.preventDefault();

var data = ev

.dataTransfer

.getData("Text");

ev

.target

.appendChild(document.getElementById(data));

text2.innerHTML = '被拖拽的元素在目标元素上同时鼠标放开';

}

就讲这么多了,接下来你们可以自己发挥想象做出好多好玩的东西了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值