禁用对 HTML 元素的拖放?

2022-08-30 04:31:18

我正在开发一个Web应用程序,我正在尝试实现一个功能齐全的窗口系统。现在进展非常顺利,我只遇到了一个小问题。有时,当我去拖动应用程序的一部分(通常是窗口的角落div,它应该触发调整大小操作)时,Web浏览器会变得聪明,并认为我的意思是拖放一些东西。最终结果,我的操作被搁置,而浏览器执行其拖放操作。

有没有一种简单的方法来禁用浏览器的拖放?理想情况下,我希望能够在用户单击某些元素时将其关闭,但重新启用它,以便用户仍然可以在我的窗口内容上使用浏览器的正常功能。我正在使用jQuery,虽然我无法在浏览文档时找到它,但如果你知道一个纯粹的jQuery解决方案,那将是非常好的。

简而言之:我需要在用户按下鼠标按钮时禁用浏览器文本选择和拖放功能,并在用户释放鼠标时恢复该功能。


答案 1

这有效。试试吧。

<BODY ondragstart="return false;" ondrop="return false;">

答案 2

尝试在鼠标下降事件时阻止默认值:

<div onmousedown="event.preventDefault ? event.preventDefault() : event.returnValue = false">asd</div>

<div onmousedown="return false">asd</div>