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方法,不多说了。
个人比较倾向于第三种做法,第一种有效率问题,第二种有点另类,第三种感觉性能和便利性都兼顾。