2012-05-30 26 views
9

使用这些CSS样式,我可以防止在页面上突出显示的文本选择。但是这会导致输入字段在Safari上被用户输入锁定。用户选择:无导致在Safari上无法访问输入字段

* { 
-webkit-touch-callout: none; 
-webkit-user-select: none; // locks fields on Safari 
-khtml-user-select: none; // locks fields on Safari 
-moz-user-select: none; 
-ms-user-select: none; 
user-select: none;  
} 

是否有Safari浏览器的方式,以防止用户选择不输入字段的干扰?

回答

19

为什么不把风格应用于除了输入之外的所有东西?

CSS3方式: *:not(input){...}

+0

这工作。谢谢。 – user823527

+0

不要忘了textareas:'*:not(input textarea){...}' –

+7

@tomaspolach您的语法不正确。正确的语法是:*:not(input):not(textarea) –

0

我需要的东西更确切的一点。

input[type=text] 
{ 
    -webkit-user-select: text; 
} 

input[type=password] 
{ 
    -webkit-user-select: all; 
} 
+0

在功能方面有什么区别? 对不起,我知道我可以试试它,只是真的很忙... –

+0

这只会选择type属性设置为文本或密码的特定输入元素。对于不支持“不”的旧版浏览器,这是必需的。但是,我会这样做:'* {... user-select:none; } input {... user-select:text; }' –

0

对于CSS每个案例:

*:not(input), *:focus:not(input) { 
    -webkit-touch-callout: none; 
    -webkit-user-select: none; 
    -khtml-user-select: none; 
    -moz-user-select: none; 
    -ms-user-select: none; 
    user-select: none; 
    outline-style:none;/*IE*/ 
} 
相关问题