以下本人验证通过,并在使用的:
1.在css文件中加入,该CSS可以作为全局存在,即在样式表中单独存在一行该代码即可时全页面的链接不带有虚线框
:focus{outline:0}
2.在每个页面的head里面加入
<script type="text/javascript">
window.onload = function(){
for(var i = 0; i < document.links.length; i++)
document.links[i].onfocus = function(){ this.blur() }
}
</script>
以下的网上其他方法:
以下总结了去掉虚线框的几种常用方法:
方法 | 缺点 | 兼容性 | tab |
---|---|---|---|
<a href=”#” οnfοcus=”this.blur()”>this blur</a> | 链接聚焦触发时失去焦点,js和html耦合在一起 | 没有兼容性问题 | 是 |
a:focus {outline:none}或 a{outline:none} | outline由css2.1引入,去除虚线框视觉上的问题正是css的职责 | ie6/ie7不支持,ie8+/ff /safari/opera[2]支持 | 否 |
<a href=”#” hidefocus=”true” >hidefocus</a> | 该属性是ie的私有属性[3] | ie5+支持 | 否 |
a { noFocusLine: expression(this.onFocus = this.blur())} | 可批量处理,但expression的性能问题不能忽视 | expression ie6/7支持,ie8+、非ie不支持 | 是 |
综合以上,去除链接虚线框的推荐方法是:ie下用hidefocus属性,ff/chorme/opera/safari下用outline:none。即:
<a href=”#” hidefocus=”true” >链接</a>
a:focus {
outline:none;
}
Jquery框架
如果你使用Jquery框架的话,可以添加以下代码即可实现(raycross 提供)
Code (js):
$(
"a").bind(
"focus",
function() {
if( this. blur) { this. blur()};
});
if( this. blur) { this. blur()};
});