2010-06-10 4 views
47

Est-ce que quelqu'un sait comment désactiver ou manipuler la bordure pointillée (dans la plupart des navigateurs) d'un élément dom s'il a le focus dans un ordre tabindex? Je veux construire mon propre style pour un élément ciblé, mais ce serait génial d'utiliser la fonctionnalité existante, car avec tabindex, il est possible de lier l'événement keydown à l'élément dom.Supprimer ou désactiver la bordure de mise au point du navigateur via javascript

Répondre

119

Il suffit de faire une règle CSS pour les éléments que vous voulez qui ont outline:none;

+0

omg ne savait pas que. Merci! – helle

+3

@helle :) c'est ce que * stackoverflow * est tout au sujet de .. apprendre de nouvelles choses;) –

+0

.. Je travaille avec css depuis si longtemps. jamais eu besoin de ça jusqu'à maintenant ... lol – helle

-6

En utilisant jQuery vous pouvez faire

$("#nav li a").focus(function(){ 
    $(this).blur(); 
}); 
+0

avec le flou je perds le focus, est-ce pas? donc je ne peux pas lier l'événement de clavier ainsi que la molette de la souris ... – helle

+0

Droit, n'a pas eu toute la question;) –

+9

C'est vraiment une réponse terrible – coorasse

0
input::-moz-focus-inner { border: 0; } 
25

trick CSS:

:focus { outline: none; } 
1
a { 
outline: 0; 
} 

a: hover, 
a: active, 
a: focus { 
    outline: none; 
} 

input::-moz-focus-inner { 
border: 0; 
} 
1

Avec Firefox 53.0, si je désactive le contour avec l'une des solutions proposées, Firefox affiche celui par défaut.

Cependant, si j'utilise une couleur blanche, il ne détecte pas que le contour est caché:

input:focus{ 
    outline: 1px solid rgba(255,255,255,1); 
} 
Questions connexes