Secondo the documentation sulla via HTML5 e rilasciare API, due eventi vengono generati quando un elemento è caduto:Esiste un ordine definito tra gli eventi drag-and-drop?
- Un evento
drop
viene generato dalla porta goccia - Un evento
dragend
viene generato dalla sorgente di la resistenza
nel fare un semplice test (vedi frammento), l'evento drop
spara sempre appena prima dell'evento dragend
(almeno in Chrome), ma non riesco a trovare nulla circa l'ordine di questi eventi nella sp ec.
L'ordine di questi eventi è definito o sono liberi di sparare in entrambi gli ordini?
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">
E 'lo stesso ordine per Firefox – gal007