html ondrop被拖拽对象,HTML5中的对象的拖拽

拖拽:

draggable="true"页面上就能实现拖拽

事件:

ondragstart 拖拽开始事件

ondrag 拖拽中

ondragend 拖拽结束事件

投放区事件:

ondragenter 进入投放区

ondragover 投放区移动

ondragleave 离开投放区

ondrop 投放区投放

例文:

#dropBlock{

width:300px;

height:300px;

position: absolute;

left:0;

top:0;

background: black;

}

#moveBlock{

width: 100px;

height:100px;

position: absolute;

background: red;

left:0;

top:300px;

}

(function(){

var dropBlock = document.getElementById("dropBlock");

var moveBlock = document.getElementById("moveBlock");

var moveBlockInisPos = getDimensions(moveBlock);

var startPoint;

var moveBlockPos;

moveBlock.ondragstart = function(){

var e = getEventObject(e);

//获取鼠标点击时的坐标

startPoint = getPointerPositionInDocument(e)

//获取移动块的位置

moveBlockPos = getDimensions(moveBlock);

}

// moveBlock.ondrag = function(){

// console.log("拖拽中");

// }

// moveBlock.ondragend = function(){

// console.log("拖拽结束");

// }

// dropBlock.ondragenter = function(){

// console.log("进入投放区");

// }

dropBlock.ondragover = function(e){

console.log("投放区移动");

//阻止默认事件发生

e.preventDefault();

}

// dropBlock.ondragleave = function(){

// console.log("离开投放区");

// };

dropBlock.ondrop = function(){

var e = getEventObject(e);

var newPoint = getPointerPositionInDocument(e);

var distance = getPointerDistance(startPoint,newPoint);

moveBlock.style.left = (moveBlockPos.left + distance.x)+"px";

moveBlock.style.top = (moveBlockPos.top + distance.y)+"px";

}

dropBlock.ondragleave = function(){

console.log("离开投放区");

var e=getEventObject(e);

moveBlock.style.left = moveBlockInisPos.left + "px";

moveBlock.style.top = moveBlockInisPos.top + "px";

};

}())

原文:http://www.cnblogs.com/tk900123/p/4805043.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值