目前,我已将其放在 body 标记中以禁用文本选择:
body {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
但是,我的input
和textarea
框现在无法选择。我怎样才能只使这些输入元素可选择而其余的不可选择?
目前,我已将其放在 body 标记中以禁用文本选择:
body {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
但是,我的input
和textarea
框现在无法选择。我怎样才能只使这些输入元素可选择而其余的不可选择?
不要将这些属性应用于整个身体。将它们移动到一个类并将该类应用于要禁用选择的元素:
.disable-select {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
您还可以在所有元素上禁用用户选择:
* {
-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;
}
只是想总结一切:
.unselectable {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
<div class="unselectable" unselectable="yes" onselectstart="return false;"/>
::selection,::moz-selection {color:currentColor;background:transparent}
您可以禁用所有选择
.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;}
*
为此目的使用通配符选择器。
#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
都将没有选择。
而不是body
键入您想要的元素列表。
我同意 Someth Victory 的观点,您需要为某些您希望不可选择的元素添加一个特定的类。
此外,您可以在特定情况下使用 javascript 添加此类。此处示例借助 CSS 使内容无法选择。
到处禁用选择
input, textarea ,*[contenteditable=true] {
-webkit-touch-callout:default;
-webkit-user-select:text;
-moz-user-select:text;
-ms-user-select:text;
user-select:text;
}
IE7
<BODY oncontextmenu="return false" onselectstart="return false" ondragstart="return false">