去除虚线框的方法 | 优劣 | 兼容性 | 是否中断tab |
<a href=”#” οnfοcus=”this.blur()”>this blur</a> | 链接聚焦触发时失去焦点,js和html耦合在一起 | 无 | 是 |
a:focus {outline:none; -moz-outline:none} | outline由css2.1引入,去除虚线框视觉上的问题正是css的职责 | ie6/ie7不支持,ie8+/ff /safari/opera[2]支持 | 否 |
<a href=”#” hidefocus=”true” >hidefocus</a> | 该属性是ie的私有属性[3] | ie5+支持 | 否 |
a{blr:expression(this.onFocus=this.close());} a{blr: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-style:none; -moz-outline-style: none;}