html5的拖拽,用了preventDefault防止弹出新页面,ie有效,但在火狐下不管用?

alantx
  • 136
<p id="p" draggable="true" ondragstart="dragStart(event)">sss</p> //ps:不加红显示不了p标签。
<div ondragover="dragOver(event)" style="width:100%;height:50px;"></div>
<script>
function dragOver(e){
stopDefault(e);
}
function stopDefault(e) {
var event = e||window.event;
if (event.preventDefault) {
event.preventDefault();
} else {
event.returnValue = false;
}
}
</script>
回复
阅读 4.5k
4 个回答

在body设置ondrop

document.body.ondrop = function (event) {
        event.preventDefault();
        event.stopPropagation();
}

加入return false 看行吗

return false,还有可以把拖拽方法放在元素的onmousedown事件下的document.onmousemove事件下,在document.onmouseup事件下在把前面那两个事件都设置成null,你可以试试

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏