一尘不染

禁用HTML元素上的拖放功能?

javascript

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

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

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


阅读 229

收藏
2020-05-01

共1个答案

一尘不染

尝试防止默认事件mousedown:

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

要么

<div onmousedown="return false">asd</div>
2020-05-01