日期:2013-12-09  浏览次数:20684 次

各位想必都知道,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())},这样,站内所有的文章都实现了无虚线效果了。