Javascript 在焦点上的锚定(<;a>;)元素上禁用灰色边框

Javascript 在焦点上的锚定(<;a>;)元素上禁用灰色边框,javascript,jquery,css,anchor,Javascript,Jquery,Css,Anchor,我试图让锚标签周围出现的难看的灰色边框消失。CSS属性大纲:无适用于Firefox,但如何在IE中实现?最好使用CSS表达式或jQuery。顺便说一句,我不担心可访问性 根据您的建议,我发现以下是最佳解决方案: jQuery(适用于IE浏览器): 另一个jQuery选项(仅适用于IE浏览器): CSS(适用于强制使用大纲的所有其他浏览器): a{ 大纲:无; } 注意:一些浏览器,如谷歌浏览器,不会强制聚焦轮廓。这不起作用吗 a { border: 0; } 这听起来像是在谈

我试图让锚标签周围出现的难看的灰色边框消失。CSS属性
大纲:无
适用于Firefox,但如何在IE中实现?最好使用CSS表达式或jQuery。顺便说一句,我不担心可访问性


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

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

  • 另一个jQuery选项(仅适用于IE浏览器):

  • CSS(适用于强制使用大纲的所有其他浏览器):

    a{
    大纲:无;
    }
    
注意:一些浏览器,如谷歌浏览器,不会强制聚焦轮廓。

这不起作用吗

a
{
   border: 0;
}

这听起来像是在谈论当你通过链接进行制表时出现的虚线边框。您已经为Firefox找到了正确的解决方案(大纲:CSS中没有)。我在IE中使用的最佳解决方案是添加一个onfocus侦听器来删除焦点:

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


看看这个网站,你可以举出一个如何在全球范围内实现的例子:

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

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

阅读更多:

对于Firefox和Safari,outline:none有效

阅读更多:
不幸的是,我认为
hideFocus
是最好的答案,因为模糊并不总是合适的:

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


除非我不知道讨论的是哪一个虚线边框,大纲:在InternetExplorer8中没有一个可以工作(至少对我来说是这样)。相反,突然之间,一些超链接呈现为虚线边框(我记得唯一更改的属性是display:inline,在包含链接的h2元素上,随后虚线边框出现)。所以我在我的全局样式表中加入了一个{outline:none;},然后在IE8中没有边界

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

您是否有正在发生的事情的示例?单击此页面上的任何链接,您会注意到每个链接周围都有一个边框(不一定是灰色的)虚线边框。你可以在Firefox中禁用这个功能,但对于IE来说,你需要一个基于JavaScript的解决方案。你说Chrome是什么意思?当我点击链接时,我会在链接上看到一个橙色的轮廓。我不担心点击链接。当你点击一个链接时,会出现一个丑陋的边框,使标签之类的东西看起来像垃圾。边框与大纲不同,所以不起作用。一些网站建议大纲:0;顺便说一句,这是一个非标准属性,不是JavaScript解决方案。您也可以在JavaScript中使用
hideFocus
属性进行设置,但更容易静态设置。本质上没有“错误”,但您会丢失具有奇怪效果的主动聚焦元素(例如选项卡顺序等)。除单击外,还有其他激活链接的方法(如键盘)。如果您只想隐藏焦点的外观,那么在不必要的情况下也没有必要更改焦点。请不要使用hideFocus()。实际上,
hideFocus
是一个属性而不是一个方法,因此如果您坚持使用JavaScript来实现此目的,那么您应该执行
this.hideFocus=true
并且您实际上只需要为该元素执行一次。@gnarf Jquery方式:
$(“a”).attr('hideFocus','hideFocus')HTML方式:
$(“a”).focus(函数(){this.hideFocus=true;})
对于jquery的方式,如果不这样做,它会破坏键盘导航。笔记本电脑用户和各种各样的残疾人不会感谢你。有一些解决方法,比如临时设置
element.onfocus=element.blur
onmousedown(单击后再次删除),但是IE的隐藏焦点(以及其他的轮廓)更简单。
a {
  outline: 0 none !important;
  border: none;
}
<a href="..." hidefocus="hidefocus">...</a>
a {
  outline: 0 none !important;
  border: none;
}