a标签被点击后,默认是会出现一圈虚框的,有时候我们希望把它给去掉。
在firefox里可以通过设置样式outline:none实现,但这个样式在ie6、ie7下是不支持的(ie8支持)。在ie6和ie7下怎么实现呢?一个比较流行的做法是
<a href="#" onfocus="this.blur()">test</a>
获得焦点就立即失去焦点。这么做的确可以解决问题,不过一方面onfocus监听器使用的是onxxx而不是addEventListener(attachEvent),所以有可能会造成副作用,另一方面,这种写法真的难看,脚本置于标签内有违结构、样式和脚本分离的原则。
其实在ie下有另一个属性可以解决这个问题,叫做hidefocus。这个属性是ie专属的,ie6、ie7和ie8都支持它,firefox并不支持。
所以,最好的办法是:
==========================
<style type="text/css">
a{outline:none} /* for firefox */
</style>
<a href="#" hidefocus>test</a> <!-- for ie -->