2013-03-01 95 views
3

我在<pre><code>中有一些源代码,行号分别为<div>。当选择文本时,行号会随之一起显示,并随后被复制。是否有任何方法可以防止行号成为选择的一部分,即使我选择了源代码块之上和之下的元素?防止元素参与文本选择

我想避免使用JavaScript来浏览JavaScript。 (使用JavaScript,我会添加一个按钮来隐藏行号)。

unselectable="on"和各种供应商特定的user-select CSS属性不起作用;数字仍然被选中并复制。

回答

4

给你要防止选择一个id的元素。

那么把它放进你的CSS:

#id-name { 
    -webkit-touch-callout: none; 
    -webkit-user-select: none; 
    -khtml-user-select: none; 
    -moz-user-select: none; 
    -ms-user-select: none; 
    user-select: none; 
} 
::-moz-selection { 
    background: transparent; 
} 
::selection { 
    background: transparent; 
} 
+1

AAAAH。我现在知道了。该元素仍然显示为被选中(我正在使用Firefox),但文本实际上并未被选中,也没有任何内容被复制。要禁用选择外观,我添加了':: - moz-selection {background:transparent; }'和':: selection {background:transparent;在元素上。 – nneonneo 2013-03-01 07:31:55

+0

很高兴我能帮上忙。 – 2013-03-01 07:33:46

+0

您可以将':: selection'位添加到您的答案吗? (如果你不介意) – nneonneo 2013-03-01 07:34:20