【问题标题】:Disable select(ion) in Opera在 Opera 中禁用选择(离子)
【发布时间】:2012-07-14 15:11:52
【问题描述】:

Opera 快把我逼疯了。处理 select(ion) 确实是一个挑战。我无法使用 Opera 禁用选择。通过鼠标或 Ctrl+A 进行选择仍处于启用状态。 Opera 真的那么糟糕吗,还是有一些可用的解决方案或变通方法?


我的 CSS:

::selection {
  background: transparent;
} 

::-moz-selection {
  background: transparent;
}

* {
  user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;            // for future? compatibility
  -webkit-user-select: none;
}

我的 JavaScript:

var elements = document.getElementsByTagName('*');
for (var i = 0; i < elements.length; i++) {
  elements[i].setAttribute('unselectable', 'on');
}

没有任何帮助。请指教。

示例:(如果您有 Opera 可用)转到this fiddle,单击“结果”部分并按 Ctrl+A。

【问题讨论】:

标签: javascript css html browser opera


【解决方案1】:

阅读https://developer.mozilla.org/en/CSS/-moz-user-select 用户选择在Opera 上不可用。这同样适用于 Internet Explorer 版本 9 及更低版本。

http://help.dottoro.com/lhwdpnva.php 描述了 unselectable 仅适用于 Internet Explorer 和 Opera,但仅适用于从元素内开始的选择。之前开始,或者我猜是Ctrl+A,你仍然可以选择它。根据文章,这同样适用于 Internet Explorer。

但是我没能尝试一下。

【讨论】:

    【解决方案2】:

    请尝试使用此脚本:

    <script type="text/javascript">
        disableSelection(document.body) 
    </script>
    
    <script type="text/javascript">
        function disableSelection(target){
            if (typeof target.onselectstart!="undefined") //IE route
                target.onselectstart=function(){return false}
            else if (typeof target.style.MozUserSelect!="undefined") //Firefox route
                target.style.MozUserSelect="none"
            else //All other route (ie: Opera)
                target.onmousedown=function(e){if(e && e.target && e.target.tagName){if(/^(input|select)$/i.test(e.target.tagName)){return true;}}return false;}
            target.style.cursor = "default"
        }
    </script>
    

    小提琴:http://jsfiddle.net/8qadwtzo/

    【讨论】:

      猜你喜欢
      • 2017-05-05
      • 2021-05-15
      • 1970-01-01
      • 1970-01-01
      • 2020-11-26
      • 1970-01-01
      • 1970-01-01
      • 2016-06-11
      • 2017-10-22
      相关资源
      最近更新 更多