90 votes

CSS désactiver la sélection de texte

Actuellement, j'ai mis cela dans la balise body pour désactiver les sélections de texte:

body {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

Cependant, mon input et textarea boîtes sont maintenant impossibles à sélectionner. Comment puis-je faire de ces éléments d'entrée sélectionnable et le reste ne peut pas être sélectionnée?

158voto

Someth Victory Points 1513

Ne pas appliquer ces propriétés à l'ensemble du corps. Les déplacer d'une classe et d'appliquer cette classe, pour les éléments que vous souhaitez désactiver, sélectionnez:

.disable-select {
  -webkit-user-select: none;  
  -moz-user-select: none;    
  -ms-user-select: none;      
  user-select: none;
}

30voto

Rik Points 399

Vous pouvez également désactiver l'utilisateur de sélectionner tous les éléments:

* {
    -webkit-touch-callout:none;
    -webkit-user-select:none;
    -moz-user-select:none;
    -ms-user-select:none;
    user-select:none;
}

Et de l'activer sur les éléments que vous ne voulez que l'utilisateur puisse sélectionner:

input, textarea /*.contenteditable?*/ {
    -webkit-touch-callout:default;
    -webkit-user-select:text;
    -moz-user-select:text;
    -ms-user-select:text;
    user-select:text;
}

9voto

Meglio Points 389

Voulais juste pour résumer le tout:

.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;"/>

1voto

Starx Points 38727

Utiliser un joker sélecteur * pour ce but.

#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;
}

Maintenant, chaque élément à l'intérieur d'un div avec l'id div aura pas de sélection.

Démo

0voto

Eric Fortis Points 6226

au lieu de body type d'une liste d'éléments que vous le souhaitez.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X