6

我有网站,我第一次设置的地方

::selection
{
    background: transparent;
}
::-moz-selection
{
    background: transparent;
}
*
{
    -moz-user-select: none; 
    -khtml-user-select: none; 
    -webkit-user-select: none; 
    -o-user-select: none;
    user-select: none;
 }

(只是为了艺术效果,不是因为我试图阻止人们复制某些东西。)

但是,稍后,我希望用户能够从文本区域中选择文本。
我能够使选择再次可见,使用

#commentarea::selection
{
    background: #070707;
}
#commentarea::-moz-selection
{
    background: #070707;
}
#commentarea
{
    -moz-user-select: element; 
    -khtml-user-select: element; 
    -webkit-user-select: element; 
    -o-user-select: element;
    user-select: element;
}

但是如果用户从 textarea 中选择了某些东西,则不能通过单击某处来取消选择它。您只能通过移动插入符号(使用箭头键)来取消选择文本。

这是为什么?我怎样才能防止这种情况发生?

4

2 回答 2

2

Enve 的回答是正确的.. 对于 Firefox 以外的浏览器(至少 13.0)。

对于有同样问题的人:

在通用选择器 ( *) 中,您必须使用-moz-user-select: -moz-none;, 而不是-moz-user-select: none;. 这将解决问题。

于 2012-06-12T22:08:11.767 回答
1

改变

#commentarea
{
    -moz-user-select: element; 
    -khtml-user-select: element; 
    -webkit-user-select: element; 
    -o-user-select: element;
    user-select: element;
}

#commentarea {
    -webkit-user-select: text;
    -moz-user-select: text;
    -khtml-user-select: text;
    -webkit-user-select: text;
    -o-user-select: text;
}

演示:http: //jsfiddle.net/dWjPQ/1/

于 2012-06-12T21:52:26.877 回答