Css 是额外的jQuery部分,因此您可能需要在其中添加一个版本检查。
如果您正在使用并且可以编写:Css 是额外的jQuery部分,因此您可能需要在其中添加一个版本检查。,css,cross-browser,highlight,textselection,Css,Cross Browser,Highlight,Textselection,如果您正在使用并且可以编写: 。用户选择(无); -webkit用户选择:无; -khtml用户选择:无; -moz用户选择:无; -o-用户选择:无; 用户选择:无; *.不可选择{ -moz用户选择:-moz无; -khtml用户选择:无; -webkit用户选择:无; 用户选择:无; } 。。。 函数makeUnselectable(节点){ if(node.nodeType==1){ node.unselectable=true; } var child=node.firstChil
。用户选择(无);
-webkit用户选择:无;
-khtml用户选择:无;
-moz用户选择:无;
-o-用户选择:无;
用户选择:无;
*.不可选择{
-moz用户选择:-moz无;
-khtml用户选择:无;
-webkit用户选择:无;
用户选择:无;
}
。。。
函数makeUnselectable(节点){
if(node.nodeType==1){
node.unselectable=true;
}
var child=node.firstChild;
while(儿童){
使不可选择(子级);
child=child.nextSibling;
}
}
makeUnselectable(document.getElementById(“foo”);
-webkit用户选择:无;
-moz用户选择:无;
onselectstart=“返回false;”
::选择{
背景:透明;
}
:-moz选择{
背景:透明;
}
* {
-webkit用户选择:无;
-khtml用户选择:无;
-moz用户选择:-moz无;
-o-用户选择:无;
用户选择:无;
}
p{
-webkit用户选择:文本;
-khtml用户选择:文本;
-moz用户选择:文本;
-o-用户选择:文本;
用户选择:文本;
}
.draggable{
-webkit用户选择:无;
-khtml用户选择:无;
-moz用户选择:无;
-o-用户选择:无;
用户选择:无;
}
.可拖动输入{
-webkit用户选择:文本;
-khtml用户选择:文本;
-moz用户选择:文本;
-o-user-select:文本;
用户选择:文本;
}
if($.browser.msie)
$('.draggable').find(':not(input)').attr('unselectable','on');
将此添加到要禁用文本选择的第一个div中:
onmousedown='return false;'
onselectstart='return false;'
如果不需要选择颜色,这将非常有用:
:-moz选择{背景:无;颜色:无;}
::选择{背景:无;颜色:无;}
…所有其他浏览器修复程序。它将在或更高版本中工作。这不是CSS,但值得一提: :
。隐藏:之后{
内容:attr(数据文本);
}
对于Internet Explorer此外,您需要添加伪类焦点(.ClassName:focus)和大纲样式:无
.ClassName,
.ClassName:focus{
-webkit触摸标注:无;
-webkit用户选择:无;
-khtml用户选择:无;
-moz用户选择:无;
-ms用户选择:无;
用户选择:无;
大纲样式:无;/*Internet Explorer*/
}
在不使用JavaScript的情况下检查我的解决方案:
li:悬停{
背景颜色:银色;
}
#id1:以前{
内容:“文件”;
}
#id2:以前{
内容:“编辑”;
}
#id3:以前{
内容:“观点”;
}
-
-
-
工作
CSS:
-khtml用户选择:无;
-moz用户选择:无;
-ms用户选择:无;
用户选择:无;
-webkit触摸标注:无;
-webkit用户选择:无;
这应该是可行的,但对于旧的浏览器是行不通的。存在浏览器兼容性问题。尽管此伪元素出现在CSS选择器级别3的草稿中,但在候选推荐阶段被删除,因为它的行为似乎没有得到充分的指定,尤其是嵌套元素,并且没有实现互操作性
这件事正在讨论中
尽管它是在浏览器中实现的,但通过在选择时使用与选项卡设计相同的颜色和背景色(在您的例子中),可以产生一种文本未被选择的错觉
常规CSS设计
p{颜色:白色;背景:黑色;}
论选择
p::-moz选择{颜色:白色;背景:黑色;}
选择{颜色:白色;背景:黑色;}
不允许用户选择文本会引起可用性问题。这在某些浏览器中有效:
::选择{背景色:透明;}
::moz选择{背景色:透明;}
::webkit选择{背景色:透明;}
只需在选择器前面添加所需的元素/ID,以逗号分隔,不带空格,如下所示:
h1::selection,h2::selection,h3::selection,p::selection{背景色:透明;}
h1::moz选择,h2::moz选择,h3::moz选择,p::moz选择{背景色:透明;}
h1::webkit选择,h2::webkit选择,h3::webkit选择,p::webkit选择{背景色:透明;}
其他答案更好;这可能是万不得已的办法。对于那些在Android浏览器中无法通过触摸事件实现相同功能的用户,请使用:
html,正文{
-webkit触摸标注:无;
-webkit用户选择:无;
-webkit点击高亮显示颜色:rgba(0,0,0,0);
-webkit点击突出显示颜色:透明;
}
注意:
正确答案是正确的,因为它阻止您选择文本。但是,这并不妨碍您复制文本,我将在接下来的几张截图中展示(截至2014年11月7日)
如您所见,我们无法选择数字,但我们可以复制它们
测试日期:,38.0.2125.111。为了得到我需要的结果,我发现我必须同时使用::选择和用户选择
输入。无选择:焦点{
-webkit触摸标注:无;
-webkit用户选择:无;
-khtml用户选择:无;
-moz用户选择:无;
-ms用户选择:无;
用户选择:无;
}
输入。无选择::选择{
背景:透明;
}
输入。无选择::-moz选择{
背景:透明;
}
在先前答案的解决方案中,选择已停止,但
<div id="foo" unselectable="on" class="unselectable">...</div>
function makeUnselectable(node) {
if (node.nodeType == 1) {
node.setAttribute("unselectable", "on");
}
var child = node.firstChild;
while (child) {
makeUnselectable(child);
child = child.nextSibling;
}
}
makeUnselectable(document.getElementById("foo"));
if (($.browser.msie && $.browser.version < 10) || $.browser.opera) $('.draggable').find(':not(input)').attr('unselectable', 'on');
onmousedown='return false;'
onselectstart='return false;'
$("your.selector").disableSelection();
#example::before // You can of course use **::after** as well.
{
content: 'Hello, World!'; // Both single-quotes and double-quotes can be used here.
display: block; // To make sure it works fine in every browser.
}
<div class="no-selectable">TRY TO HIGHLIGHT</div>