Nic*_*ynt 98 javascript css jquery webbrowser-control
我正在开发一个Web应用程序,我正在尝试实现一个功能齐全的窗口系统.现在它进展顺利,我只遇到一个小问题.有时当我去拖动我的应用程序的一部分(通常是我的窗口的角落div,它应该触发调整大小操作)时,Web浏览器变得聪明并认为我的意思是拖放一些东西.最终结果,我的操作被搁置,而浏览器执行拖放操作.
是否有一种简单的方法来禁用浏览器的拖放?理想情况下,我希望能够在用户点击某些元素时关闭它,但重新启用它,以便用户仍然可以在我的窗口内容上使用浏览器的常规功能.我正在使用jQuery,虽然我无法找到它浏览文档,但如果你知道一个纯粹的jQuery解决方案,那就太棒了.
简而言之:我需要在用户按下鼠标按钮时禁用浏览器文本选择和拖放功能,并在用户释放鼠标时恢复该功能.
Syn*_*ror 201
这件事有效.....试试吧.
<BODY ondragstart="return false;" ondrop="return false;">
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你.谢谢
Ser*_*sky 69
尝试阻止mousedown事件的默认值:
<div onmousedown="event.preventDefault ? event.preventDefault() : event.returnValue = false">asd</div>
Run Code Online (Sandbox Code Playgroud)
要么
<div onmousedown="return false">asd</div>
Run Code Online (Sandbox Code Playgroud)
Tos*_*osh 13
这可能有效:您可以禁用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;
}
Run Code Online (Sandbox Code Playgroud)
当然只适用于较新的浏览器.有关详细信息,请检查
使用jQuery,它将是这样的:
$(document).ready(function() {
$('#yourDiv').on('mousedown', function(e) {
e.preventDefault();
});
});
Run Code Online (Sandbox Code Playgroud)
在我的情况下,我想从输入中的drop text禁用用户,所以我使用"drop"而不是"mousedown".
$(document).ready(function() {
$('input').on('drop', function(event) {
event.preventDefault();
});
});
Run Code Online (Sandbox Code Playgroud)
相反,event.preventDefault()可以返回false.这是区别.
和代码:
$(document).ready(function() {
$('input').on('drop', function() {
return false;
});
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
170325 次 |
最近记录: |