当可拖动元素开始拖动时,将发生HTML DOM ondragstart事件。
在拖放操作的不同阶段中使用并发生了一些事件:
在可拖动目标上触发的事件:
ondragstart:开始拖动元素时发生。
ondrag:在元素拖动时发生。
ondragend:元素拖动完成时发生。
在投放目标上触发的事件:
ondragenter:当拖动的元素进入放置目标时发生。
ondragover:当拖动的元素在放置目标上方时发生。
ondragleave:当拖动的元素从放置目标离开时发生。
ondrop:当拖动的元素放置在放置目标上时发生。
用法:
在HTML中:
在JavaScript中:
object.ondragstart = function(){myScript};
在JavaScript中,使用addEventListener()方法:
object.addEventListener("dragstart", myScript);
注意:链接和图像默认是可拖动的。
范例1:
HTML DOM ondrop Event.droptarget {
float:center;
width:300px;
height:50px;
margin:20px;
padding:5px;
border:6px solid green;
}
GeeksforGeeks
HTML DOM ondrop Event
οndrοp="dropEle(event)"
οndragοver="allowDropEle(event)">
draggable="true"
id="dragtarget">
Dragable element
οndrοp="dropEle(event)"
οndragοver="allowDropEle(event)">
function dragStartEle(event) {
event.dataTransfer.setData(
"Text", event.target.id);
document.getElementById(
"demo").innerHTML = "Dragging starts";
}
function allowDropEle(event) {
event.preventDefault();
}
function dropEle(event) {
event.preventDefault();
var data =
event.dataTransfer.getData("Text");
event.target.appendChild(
document.getElementById(data));
document.getElementById("demo").innerHTML =
"Element dropped";
}
输出:
范例2:
HTML DOM ondrop Event
.droptarget {
float:center;
width:300px;
height:50px;
margin:20px;
padding:5px;
border:6px solid green;
}
GeeksforGeeks
HTML DOM ondrop Event
id="dragtarget">
Dragable element
// Event fired on the drag target
document.ondragstart = function(event) {
event.dataTransfer.setData("Text", event.target.id);
document.getElementById("demo").innerHTML = "Dragging starts";
};
// Events fired on the drop target
document.ondragover = function(event) {
event.preventDefault();
};
document.ondrop = function(event) {
event.preventDefault();
var data = event.dataTransfer.getData("Text");
event.target.appendChild(document.getElementById(data));
document.getElementById("demo").innerHTML = "Element dropped";
};
谷歌浏览器
IE浏览器
Firefox
苹果Safari
Opera