在Firefox中拖动鼠标时如何防止文本选择?

Posted

技术标签:

【中文标题】在Firefox中拖动鼠标时如何防止文本选择?【英文标题】:how to prevent text selection when dragging mouse in Firefox? 【发布时间】:2011-02-25 06:34:30 【问题描述】:

我想知道那些拖放小部件如何取消拖动元素和页面中其他元素中的文本选择。我尝试了以下代码,它在 IE8 中有效(无法选择文本)但在 Firefox 中无效(仍然可以选择文本)。

<!DOCTYPE html>
<html>
<body>
  <p>Hello World</p>
  <script type="text/javascript">
    document.onmousemove = function() 
      return false;
  
  </script>
</body>
</html>

【问题讨论】:

见:***.com/questions/69430/… 【参考方案1】:

或者,类似于 Moz 的 IE8 解决方案:

document.body.style.MozUserSelect="none"

【讨论】:

【参考方案2】:

有一种情况,我有一个水平滚动条,并且在拖动滚动条时选择了页面上的文本。当我的滚动启动功能启动时,我使用 jQuery 向正文添加了一个“不可选择”的类,并在我的滚动停止功能执行时删除了该类。像这样:

function startDrag(event)
    $('body').addClass('unselectable');

    // start drag code


function stopDrag(event)
    $('body').removeClass('unselectable');

    // stop drag code

这就是我的 CSS 文档中不可选择的类的样子。

.unselectable 
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;

【讨论】:

以上是关于在Firefox中拖动鼠标时如何防止文本选择?的主要内容,如果未能解决你的问题,请参考以下文章

处理 Firefox 扩展中的文本选择事件(防止用户选择文本)

使用 HTML5 拖放防止拖动事件干扰 Firefox 中的输入元素

Firefox 在文本上拖动时触发 dragleave

ArcMap修改粘滞移动容差防止要素在选择时无意拖动移动

鼠标拖动文字或者图片,浏览器自动新建页面打开。如何关闭此功能!

在 Javascript FireFox 中不允许通过拖动来调整 div 的大小