6
根據the documentation在HTML5拖放API,當一個元件被丟棄兩個事件觸發:dragend和drop事件之間是否有定義的順序?
- 甲
drop
事件從放置目標 - 甲
dragend
事件從源發射發射拖動
在做一個簡單的測試(見段),該drop
事件始終閃光只是dragend
事件(至少在鉻)之前,但我無法找到有關這些事件在SP的訂購任何東西EC。
是定義這些事件的順序,還是以任意順序自由觸發?
function allowDrop(ev) {
ev.preventDefault();
}
function drag(ev) {
ev.dataTransfer.setData("text", ev.target.id);
}
function drop(ev) {
console.log("drop at " + Date.now());
ev.preventDefault();
var data = ev.dataTransfer.getData("text");
ev.target.appendChild(document.getElementById(data));
}
function dragend(ev) {
console.log("dragend at " + Date.now());
}
#div1 {
background-color: red;
height: 100px;
width: 100px;
}
#drag1 {
background-color: green;
height: 50px;
width: 50px;
}
<div>Drag the green square in to the red one</div>
<div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)" width="100px" height="100px"></div>
<div id="drag1" draggable="true" ondragstart="drag(event)" ondragend="dragend(event)" width="50px" height="50px">
這是對Firefox相同的順序 – gal007