去除IE下A链接虚线框

IE下的A链接的虚线外框很是仍然烦恼,只好动手干掉它。

有几种方法,各有利弊:

1、CSS实现:

a{blr:expression(this.onFocus=this.close());} 
a{blr:expression(this.onFocus=this.blur());} 

 

但是这种使用expression的方法效率很低,大量使用会造成性能问题。

2、HTC实现

做一个扩展名为htc的文件,内容如下:

 

<public:attach event="onfocus" onevent="hscfsy()"/>
<script language="javascript">
function hscfsy(){
this.blur();
}
</script>

 

然后再css中如下定义:

a {behavior:url(htc文件所在路径地址)}


3、用js方法解决:

注册对象a链接的focus事件,然后在内部处理中调用a的blur事件即可。也就说造成鼠标移动上来就移走的假象。

以jquery语法为例:

$('a').bind("focus", function(){
    $(this).blur();
})

至于封装成伪函数等方法原理用js方法,不多说了。

个人比较倾向于第三种做法,第一种有效率问题,第二种有点另类,第三种感觉性能和便利性都兼顾。

你可能感兴趣的:(IE,链接,消除,a,虚线框)