我正在学习拖放。我已经复制了W3Schools在JSFiddle上的示例。
该示例在放置事件中调用preventDefault()
:
function drop(ev) {
ev.preventDefault();
var data=ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data));
}
然而,我不明白在阅读文档时需要它的原因。当我删除此调用时,示例仍然可以正常工作:
function drop(ev) {
var data=ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data));
}
那么,调用 preventDefault()
有什么作用?我真的需要它吗?如果需要,为什么呢?
drop
处理程序中需要使用preventDefault
的原因。引用的文本也没有提到它。 - Glenn Jordee.preventDefault
,而是使用旧版IE特定的样式window.event.returnValue=false
,但由于它们是等效的,我认为没有必要提到它。重点是,即使您遇到需要取消操作才能使拖放工作的浏览器版本,也不会有任何损害留下它。(希望现在这些浏览器版本已经很少见了) - Stephen ByrnepreventDefault
来启用拖放...并没有多少关于在ondrop
中调用它的影响。 - codecitrus