【问题标题】:how to prevent text selection when dragging mouse in Firefox?在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>

【问题讨论】:

标签: javascript firefox


【解决方案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;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-22
      • 2012-03-30
      • 2017-05-27
      • 1970-01-01
      • 2023-04-06
      • 2017-11-17
      相关资源
      最近更新 更多