禁用拖放HTML元素?

我正在为我试图实现一个全function的窗口系统的Web应用程序工作。 现在情况很好,我只是遇到了一个小问题。 有时当我拖动我的应用程序的一部分(通常是我的窗口的angular落div,这应该触发一个resize的操作)的networking浏览器变得聪明,我认为我的意思是拖放一些东西。 最终的结果是,我的行动被搁置,而浏览器做拖放的东西。

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

简而言之:我需要禁用浏览器文本select和拖放function,同时我的用户有鼠标button,并在用户释放鼠标时恢复该function。

感谢您的任何build议,我一直在寻找一段时间,没有运气。

尝试防止mousedown事件的默认值:

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

要么

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

这件事情起作用…..试试吧。

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

希望它有帮助。 谢谢

这可能工作:您可以禁用select与css3的文字,图像和基本上一切。

 .unselectable { -moz-user-select: -moz-none; -khtml-user-select: none; -webkit-user-select: none; /* Introduced in IE 10. See http://ie.microsoft.com/testdrive/HTML5/msUserSelect/ */ -ms-user-select: none; user-select: none; } 

当然,只适用于较新的浏览器。 更多细节检查:

如何禁用文本select突出显示使用CSS?

使用jQuery将会是这样的:

 $(document).ready(function() { $('#yourDiv').on('mousedown', function(e) { e.preventDefault(); }); }); 

在我的情况下,我想要从input中删除文本禁用用户,所以我用“drop”而不是“mousedown”。

 $(document).ready(function() { $('input').on('drop', function(event) { event.preventDefault(); }); }); 

相反,event.preventDefault()可以返回false。 这是区别。

和代码:

 $(document).ready(function() { $('input').on('drop', function() { return false; }); }); 

您只需使用draggable="false"属性即可禁用拖动。
http://www.w3schools.com/tags/att_global_draggable.asp

尝试这个

 $('#id').on('mousedown', function(event){ event.preventDefault(); } 

这jQuery为我工作: –

 $(document).ready(function() { $('#con_image').on('mousedown', function(e) { e.preventDefault(); }); });