admin管理员组文章数量:1310542
From MDN Documentation I can read:
Drag - Fired when an element or text selection is being dragged. Dragstart - Fired when the user starts dragging an element or text selection
But ... why my function was ignored by browser when I attach it to "drag" event and was perfectly ok when I gave it "dragstart" instead? From the definition I assume that them both do the same (?)
function itemDrag(e) {
e.dataTransfer.setData("text", e.target.id);
}
document.getElementById("try1").addEventListener("dragstart",function(){
itemDrag(event);
});
From MDN Documentation I can read:
Drag - Fired when an element or text selection is being dragged. Dragstart - Fired when the user starts dragging an element or text selection
https://developer.mozilla/en-US/docs/Web/API/HTML_Drag_and_Drop_API
But ... why my function was ignored by browser when I attach it to "drag" event and was perfectly ok when I gave it "dragstart" instead? From the definition I assume that them both do the same (?)
function itemDrag(e) {
e.dataTransfer.setData("text", e.target.id);
}
document.getElementById("try1").addEventListener("dragstart",function(){
itemDrag(event);
});
Share
Improve this question
asked Mar 24, 2017 at 14:26
ZebraZebra
1894 silver badges14 bronze badges
1 Answer
Reset to default 8The dragstart event is fired when the user starts dragging an element or text selection.
The drag event is fired when an element or text selection is being dragged (every few hundred milliseconds).
So dragstart should be fired once, drag should be fired continuously.
This es from the MDN pages.
https://developer.mozilla/en-US/docs/Web/Events/drag
https://developer.mozilla/en-US/docs/Web/Events/dragstart
example:
let continu = 0;
document.addEventListener("dragstart", function( event ) {
console.log('start');
}, false);
document.addEventListener("drag", function( event ) {
if(continu < 5){
console.log('continu');
}
continu ++;
}, false);
<div class="dropzone">
<div id="draggable" draggable="true" ondragstart="event.dataTransfer.setData('text/plain',null)">
This div is draggable
</div>
</div>
<div class="dropzone"></div>
<div class="dropzone"></div>
<div class="dropzone"></div>
Drag related events:
drag
dragstart
dragend
dragover
dragenter
dragleave
dragexit
drop
本文标签: javascriptExact difference between drag and dragstart event type ()Stack Overflow
版权声明:本文标题:javascript - Exact difference between drag and dragstart event type (?) - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1741822677a2399459.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论