批量消除超链接虚线框 onfocus=”this.blur()”

2009-10-20 14:07:44 by 【6yang】, 51 visits, 收藏 | 返回

各位想必都知道,onfocus=”this.blur()”这条代码能消除链接时的虚线框,但你有没有想过,如果你的网页上有几个甚至上百个链接,而你又想要去掉上面那些讨厌的虚线框,难道你还一个个去Ctrl+C、Ctrl+V,天哪!这对一个正常人来说绝对是个恶梦。也许你会说,用DW或其它文本编辑器里的“查找/替换”功能就能解决,对!不可否认,这是一个好办法,但作为一个优秀的web developer,用尽可能少的代码实现一样的功能才是我们应当追求的目标,下面我们就用htc来解决这问题。至于htc是什么,全称就是Html Components,由微软在IE5.0后开始提供的一种新的指令组合,它可以把某种特定功能的代码封装在一个组件之中,从而实现了代码的重复使用。作为一个组件,htc里包含了属性、方法、事件等等各种知识,在这里就不一一介绍了,具体内容各位可以参考微软的msdn主页。
  回到开始处,Onfocus=this.blur()在这里很显然,onfocus是一个事件,this.blur()则是被事件所触发的对象,既然这点明确了,代码就知道该怎么写了。
<public:attach event=”onfocus” onevent=”example()” />
<script language=”javascript”>
function example(){
this.blur();
}
</script>
  将以上代码存为.htc为扩展名的文件,然后再编写一个普通的html网页:
<html>
<head>
<style>
a {behavior:url(htc文件所在路径地址)}
</style>
<body>
<a href=”#”>链接1</a>
<a href=”#”>链接2</a>
<a href=”#”>链接3</a>
点链接试试,没有虚线框了吧
</body>
</html>
  OK,保存,预览,怎么样?效果出来了吧,再看看代码,的确精简了不少,而且在链接越多时体现得越发明显。最后我要说的是,这还仅仅是htc应用上的冰山一角而已,更多的功能还需要你们去认识,相信有点JS与CSS基础的你一定能学有所成。

  Juven注:
  Juven在实际工作中,还找到另外解决的方法:第一就是使用插件(scrubber.mxp);另一就是使用CSS样式,可加入代码:a {blr:expression(this.onFocus=this.blur())},这样,站内所有的文章都实现了无虚线效果了。

 

分享到:
share

    图片原图

    loading

    loading