現在、これを body タグに入れて、テキスト選択を無効にしています。
body {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
ただし、 myボックスinput
とtextarea
ボックスは選択できなくなりました。これらの入力要素のみを選択可能にし、残りを選択不可にするにはどうすればよいですか?
現在、これを body タグに入れて、テキスト選択を無効にしています。
body {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
ただし、 myボックスinput
とtextarea
ボックスは選択できなくなりました。これらの入力要素のみを選択可能にし、残りを選択不可にするにはどうすればよいですか?
これらのプロパティを全身に適用しないでください。それらをクラスに移動し、そのクラスを無効にする要素に適用します。select:
.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;"/>
*
この目的には、ワイルド カード セレクターを使用します。
#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
選択されなくなります。
私はSometh Victoryに同意します。選択不可にしたい要素に特定のクラスを追加する必要があります。
また、JavaScript を使用して特定のケースでこのクラスを追加することもできます。例はこちらCSS を使用してコンテンツを選択不可にする。
body
必要な要素のリストを入力する 代わりに。
どこでも選択を無効にする
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">