批量消除超链接虚线框

  • 来源: 互联网 作者: rocket   2008-03-19/09:17
  • 各位想必都知道,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())},这样,站内所有的文章都实现了无虚线效果了。

    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多