目前,我已经在body标签把这个禁用文字选择:
body {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
然而,我的input和textarea框现在可选择。 我如何只能让这些输入元素选择,其余不可选择?
Answer 1:
不要将这些属性应用到整个身体。 它们移到类和类适用于要禁用选择的要素:
.disable-select {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
Answer 2:
您还可以禁用用户的所有元素中进行选择:
* {
-webkit-touch-callout:none;
-webkit-user-select:none;
-moz-user-select:none;
-ms-user-select:none;
user-select:none;
}
而不是启用它的元素你希望用户能够选择:
input, textarea /*.contenteditable?*/ {
-webkit-touch-callout:default;
-webkit-user-select:text;
-moz-user-select:text;
-ms-user-select:text;
user-select:text;
}
Answer 3:
只是想概括一切:
.unselectable {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
Answer 4:
::selection,::moz-selection {color:currentColor;background:transparent}
Answer 5:
您可以禁用所有选择
.disable-all{-webkit-touch-callout: none; -webkit-user-select: none;-khtml-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;}
现在你可以使能输入和文本区域启用
input, textarea{
-webkit-touch-callout:default;
-webkit-user-select:text;
-khtml-user-select: text;
-moz-user-select:text;
-ms-user-select:text;
user-select:text;}
Answer 6:
使用通配符选择*用于这一目的。
#div * { /* Narrowing, to specific elements, like input, textarea is PREFFERED */
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
现在,随着ID的DIV中的每一个元素div都不会选择。
演示
Answer 7:
而不是body键入你想要的元素列表。
Answer 8:
我同意Someth胜利,你需要一个特定的类添加到你想成为不可选择一些元素。
此外,您还可以在特定情况下使用javascript添加此类。 例如这里制作的内容不可选择与CSS的帮助 。
Answer 9:
禁用选择无处不在
input, textarea ,*[contenteditable=true] {
-webkit-touch-callout:default;
-webkit-user-select:text;
-moz-user-select:text;
-ms-user-select:text;
user-select:text;
}
IE7
文章来源: CSS disable text selection