禁用锚点上的灰色边框(<a>) elements on focus</a>

时间:2009-09-03 05:10:41

标签: javascript jquery css anchor

我试图让锚标签周围出现的丑陋灰色边框消失。 CSS属性outline:none;适用于Firefox,但我如何在IE中执行此操作?最好使用CSS表达式或jQuery。我并不担心BTW的可访问性。


根据您的建议,我发现这些是最佳解决方案:

  • jQuery(适用于IE浏览器):

    $('a').focus(function() {
        $(this).blur();
    });
    
  • 另一个jQuery选项(仅适用于IE浏览器):

    $('a').focus(function() {
        $(this).attr("hideFocus", "hidefocus");
    });
    
  • CSS(强制大纲的所有其他浏览器):

    a {
        outline: none;
    }
    

注意:某些浏览器(例如Google Chrome浏览器)不会强制关注焦点。

7 个答案:

答案 0 :(得分:10)

不幸的是,我觉得hideFocus是你最好的答案,因为模糊并不总是合适的:

<a href="..." hidefocus="hidefocus">...</a>

http://msdn.microsoft.com/en-us/library/ms533783(VS.85).aspx

答案 1 :(得分:3)

听起来你正在谈论通过链接标记时出现的虚线边框。你有正确的Firefox解决方案(概述:CSS中没有)。我用于IE的最佳解决方案是添加一个可以消除焦点的onfocus监听器:

<a href="" onfocus="this.hideFocus=true;">link</a>

请查看此网站,了解如何在全球范围内执行此操作:http://codylindley.com/Javascript/223/hiding-the-browsers-focus-borders-should-i-shouldnt-i

答案 2 :(得分:2)

除非我遗漏了正在讨论的虚线边框,否则概述:无法在Internet Explorer 8中工作(至少对我而言)。相反,突然有些超链接使用虚线边框呈现(我记得改变的唯一属性是显示:内嵌在包含链接的h2元素上,之后出现虚线边框)。所以我扔了一个{outline:none;在我的全局样式表和poof中,IE8中没有更多的边框了!

答案 3 :(得分:1)

对于IE,你可以使用这样的Javascript:

<a href="..." onfocus="this.blur();">Click Here</a>

了解更多: http://www.htmlgoodies.com/beyond/javascript/article.php/3471171

对于Firefox和Safari,概述:无效。

了解更多: http://css-tricks.com/removing-the-dotted-outline/

答案 4 :(得分:0)

这不起作用吗?

a
{
   border: 0;
}

答案 5 :(得分:0)

a {outline:noneIE 8} css似乎在Firefox,Chrome和IE 8上运行良好。

答案 6 :(得分:0)

a {
  outline: 0 none !important;
  border: none;
}