html5拖拽后保存位置,html5拖拽应用记录及注意点

下面通过代码给大家介绍html5拖拽应用记录,具体代码如下所示:

e.dataTransfer.setData("a","设置的值");

e.dataTransfer.getData("a");

function drop(e)

{

e.dataTransfer.setData("a", e.target.id);

}

拖动元素

被拖动的元素上要加入入draggable="true"属性

一些注意点:

drop 必须配上 dragover,否则事件不生效

document.getElementById('right').ondragover = function (ev) {

ev.preventDefault(); //阻止向上冒泡

}

document.getElementById('right').ondrop = function (ev) {

ev.preventDefault(); //阻止向上冒泡

console.log("放入");

}

react中使用事件必须是驼峰,例如:onDragOver

vue中在ui库组件上加的时候记得加 .native,例如:@drop.native

完整测试案例

Title

*{

margin: 0;

padding: 0;

}

.div1{

width: 200px;

height: 200px;

border: 1px solid red;

position: relative;

margin-left:20px;

float: left;

}

.div2{

width: 200px;

height: 200px;

border: 1px solid blue;

position: relative;

margin-left:20px;

float: left;

}

.div3{

width: 200px;

height: 200px;

border: 1px solid green;

position: relative;

margin-left:20px;

float: left;

}

p{

background-color: orange;

margin-top: 5px;

}

试着把我拖过去

试着也把我拖过去

/*学习拖拽,主要就是学习拖拽事件*/

var p=document.querySelector("#pe1");

var div2=document.querySelector("#div2");

var div3=document.querySelector("#div3");

/*应用于被拖拽元素的事件

*ondrag 应用于拖拽元素,整个拖拽过程都会调用--持续

ondragstart 应用于拖拽元素,当拖拽开始时调用

ondragleave 应用于拖拽元素,当鼠标离开拖拽元素时调用

ondragend 应用于拖拽元素,当拖拽结束时调用*/

p.οndragstart=function(e){

console.log("开始");

e.dataTransfer.setDate("a")

}

p.οndragend=function(){

console.log("结束");

}

p.οndragleave=function(){

console.log("离开目标");

}

p.οndrag=function(){

// console.log("持续触发---111111");

}

/*应用于目标元素的事件

*ondragenter 应用于目标元素,当拖拽元素进入时调用

ondragover 应用于目标元素,当停留在目标元素上时调用

ondrop 应用于目标元素,当在目标元素上松开鼠标时调用

ondragleave 应用于目标元素,当鼠标离开目标元素时调用*/

div2.οndragenter=function(){

console.log("进入目标1");

}

div2.οndragοver=function(e){

console.log(e);

console.log("在目标1中盘旋");

//console.log("ondragover");

/*如果想触发ondrop事件,那么就必须在这个位置阻止浏览器的默认行为*/

e.preventDefault();

}

/*浏览器默认会阻止ondrop事件:我们必须在ondragover中阻止浏览器的默认行为*/

div2.οndrοp=function(){

console.log("锁定目标1,降落");

/*添加被拖拽的元素到当前目标元素*/

div2.appendChild(p);

}

div2.οndragleave=function(){

console.log("离开目标1");

}

div3.οndragenter=function(){

console.log("进入目标2");

}

div3.οndragοver=function(e){

console.log("在目标2中盘旋");

//console.log("ondragover");

/*如果想触发ondrop事件,那么就必须在这个位置阻止浏览器的默认行为*/

e.preventDefault();

}

div3.οndrοp=function(){

console.log("锁定目标2,降落");

/*添加被拖拽的元素到当前目标元素*/

div3.appendChild(p);

}

div3.οndragleave=function(){

console.log("离开目标2");

}

总结

到此这篇关于html5拖拽应用记录的文章就介绍到这了,更多相关html5拖拽应用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值