Opera让我发疯。处理选择(离子)真的是挑战。我无法禁用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小提琴,单击“结果”部分并按Ctrl + A.
答案 0 :(得分:0)
阅读https://developer.mozilla.org/en/CSS/-moz-user-select用户选择在opera上不可用。这同样适用于Internet Explorer 9及以下版本。
http://help.dottoro.com/lhwdpnva.php描述了不可选择的方法仅适用于Internet Explorer和Opera,但仅适用于从元素开始的选择。之前开始或我猜Ctrl + A你仍然可以选择它。根据这篇文章,同样适用于Internet Explorer。
然而,我无法尝试。
答案 1 :(得分:0)
请尝试使用此脚本:
<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>