当链接指向为页外目标时,我们点击该链接,其四周会出现一个虚框,文字链接和图片链接都会如此。去除虚框可以用JavaScript的this.blur()实现,然而,每一个超链语句都写上this.blur()工作量会很大,我们有必要寻求一种高效的方法。
IE从5.5版本开始支持Web行为的概念。这些行为是由后缀名为.htc的脚本文件描述的,它们定义了一套方法和属性,程序员几乎可以把这些方法和属性应用到HTML页面上的任何元素上去。Web行为是非常伟大的因为它们允许程序员把自定义的功能“连接”到现有的元素和控件,而不是必须让用户下载二进制文件(例如ActiveX控件)来完成这个功能。Web行为还是推荐的扩展IE对象模型和控件集的方法。微软在它的开发者站点上的DHTML行为库栏目里提供了几个定制的Web行为:WebService行为。
我们就是利用上述.htc文件来轻而易举地实现成批去除超链虚框。以下内容保存为后缀名为.htc的文件(使用时请将全角标点符号改为小角):
<public:attach event="onfocus" onevent="quit()" />
<script language="javascript">
function quit(){
this.blur();
}
</script>
然后,在需要去除超链虚框的页面的<head>和</head>之间加入:
<style type="text/css">
a {behavior:url("htc文件")}
</style>
如果页面已经有了style标签,只需要将 a {behavior:url("htc文件")} 一句插入里面即可。
这样,该页面的超链在点击之后的虚框将不复存在,页面显得干干净净。
去掉链接时的虚框只要在你的样式表中加入以下代码,就可以去掉链接时烦的的虚框
a,area { blr:expression(this.onFocus=this.blur()) } /* for IE */
:focus { -moz-outline-style: none; } /* for Firefox */
是不是很简单.