2009-05-28 11 views
1

J'essaye de créer un bouton de texte en utilisant l'envergure simple et en formatant le texte et en fournissant le clic évident. Le problème est lorsqu'un utilisateur clique sur le bouton, il met parfois en évidence le texte du bouton.Javascript/CSS Désactiver le texte sélectionner

Je veux éviter un tel comportement, car il semble très laid quand le texte est sélectionné. Tout css/javascript/(jquery) je peux utiliser pour éviter cela?

Merci beaucoup pour votre temps.

+0

Je vois et souris quand toutes les mentions de javascript sont suffixées par "jquery". Parfois, j'ai l'impression que la communauté est en train de perdre le contact avec l'ancien javascript. – jrharshath

+0

je ne suis pas hehehe – Ropstah

+0

duplication possible de [règle CSS pour désactiver la mise en évidence de la sélection de texte] (http://stackoverflow.com/questions/826782/css-rule-to-disable-text-selection-highlighting) – Dan

Répondre

6
spanid.onselectstart = function() {return false;} // ie 
spanid.onmousedown = function() {return false;} // mozilla 

premier résultat sur Google en passant ...

supplémentaire

$('#spanid').selectstart(function(event) { 
    event.preventDefault(); 
}); 
+0

jQuery est également très nice: voir poste .. – Ropstah

+0

+1 pour une solution aussi simple :) Je ne savais pas que ce serait simple – jrharshath

1

Vous pouvez simplement écrire:

$('#spanid').disableSelection(); 
+1

juste pour clarifier, cela nécessite une bibliothèque jquery. – dwaz

5

Pour une solution CSS:

.unselectable { 
    -webkit-touch-callout: none; 
    -webkit-user-select: none; 
    -khtml-user-select: none; /* Isn't Konquerour dead? */ 
    -moz-user-select: -moz-none; 
    -moz-user-select: none; 
    -ms-user-select: none; 
    user-select: none; 
} 

Mais, looking here, la solution CSS ne suffit pas à la fin de 2013, vous devriez donc ajouter du javascript. Il y a de bonnes réponses autour.

Questions connexes