2010-06-10 14 views
47

¿Alguien sabe cómo deshabilitar o manipular el borde discontinuo (en la mayoría de los navegadores) de un elemento dom si tiene el foco en un orden tabindex?Eliminar o desactivar el borde de enfoque del navegador mediante javascript

Quiero construir mi propio estilo para un elemento enfocado, pero sería genial usar la función existente, porque con tabindex es posible vincular el evento keydown al elemento dom.

Respuesta

119

Sólo hacer una regla CSS para los elementos que desea que tengan outline:none;

+0

omg no sabía eso. ¡Gracias! – helle

+3

@helle :) de eso se trata * stackoverflow * aprendiendo cosas nuevas;) –

+0

.. estoy trabajando con CSS durante tanto tiempo. nunca lo necesité hasta ahora ... jaja – helle

-6

Usando jQuery que puede hacer

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

con el desenfoque i pierden el foco, no es así? así que no puedo vincular el evento de keydown, así como la rueda del mouse ... – helle

+0

Derecho, no entendí la pregunta;) –

+9

Esa es realmente una respuesta terrible – coorasse

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

CSS truco:

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

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

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

Con Firefox 53.0, si deshabilito el esquema con una de las soluciones propuestas, Firefox muestra el predeterminado.

Sin embargo, si uso un color blanco, que no detecta que el contorno se oculta:

input:focus{ 
    outline: 1px solid rgba(255,255,255,1); 
} 
Cuestiones relacionadas