javascript - saber - Deshabilitar el borde gris en los elementos del ancla(<a>) en el foco
saber si un elemento tiene el foco javascript (7)
Estoy tratando de hacer desaparecer el feo borde gris que aparece alrededor de las etiquetas de anclaje. El outline:none;
propiedad CSS outline:none;
Funciona para Firefox, pero ¿cómo puedo hacerlo en IE? Preferiblemente utilizando expresiones CSS o jQuery. No estoy preocupado por la accesibilidad por cierto.
Según sus sugerencias, encontré que estas son las mejores soluciones:
El jQuery (para los navegadores IE):
$(''a'').focus(function() { $(this).blur(); });
Otra opción de jQuery (solo para los navegadores IE):
$(''a'').focus(function() { $(this).attr("hideFocus", "hidefocus"); });
El CSS (para todos los demás navegadores que fuerzan un esquema):
a { outline: none; }
Nota: algunos navegadores como Google Chrome no obligan a un esquema a enfocarse.
¿Esto no funciona?
a
{
border: 0;
}
A menos que me falte el borde de puntos que se está discutiendo, resumen: ninguno funciona en Internet Explorer 8 (al menos, para mí). Más bien, de repente, algunos hipervínculos se representaban con un borde punteado (el único atributo que recuerdo haber cambiado es mostrar: en línea en un elemento h2 que contenía un enlace, luego apareció el borde punteado). Así que tiré en un esquema: ninguno; } en mi hoja de estilo global y poof, no más borde en IE8!
Desafortunadamente, creo que hideFocus
es su mejor respuesta, ya que el desenfoque no siempre es apropiado:
<a href="..." hidefocus="hidefocus">...</a>
http://msdn.microsoft.com/en-us/library/ms533783(VS.85).aspx
Para IE, puedes usar Javascript de esta manera:
<a href="..." onfocus="this.blur();">Click Here</a>
Leer más: http://www.htmlgoodies.com/beyond/javascript/article.php/3471171
Para Firefox y Safari, esquema: ninguno funciona.
Parece que estás hablando del borde punteado que aparece cuando pasas por los enlaces. Tienes la solución correcta para Firefox (esquema: ninguno en el CSS). La mejor solución que he usado para IE es agregar un oyente de onfocus que elimine el foco:
<a href="" onfocus="this.hideFocus=true;">link</a>
Eche un vistazo a este sitio para ver un ejemplo de cómo podría hacerlo a nivel mundial: http://codylindley.com/Javascript/223/hiding-the-browsers-focus-borders-should-i-shouldnt-i
a {outline:noneIE 8}
css parece funcionar bien en Firefox, Chrome e IE 8.
a {
outline: 0 none !important;
border: none;
}