传统办法,在标签内加属性 代码多,修改难
<a href=link1.htm onfocus=this.blur()>link1</a>
<a href=link1.htm onfocus=this.close()>link1</a>
<a href=link1.htm hidefocus=true>link1</a>
<a href=link1.htm hidefocus=hidefocus>link1</a>
<a href=link1.htm hidefocus>link1</a> 非标准
中级办法,全局控制
CSS实现 增加IE负担,不推荐使用
a{blr:expression(this.onFocus=this.close());}
a{blr:expression(this.onFocus=this.blur());}
HTC实现 IE支持,并有延迟,不推荐
把下面这段代码存为.htc为扩展名的文件 <public:attach event=onfocus onevent=hscfsy()/> <script language=javascript> function hscfsy(){ this.blur(); } < /script>样式调用
a {behavior:url(htc文件所在路径地址)}
高级办法,全局控制
遍历实现 window.onload=function() { for(var ii=0; ii<document.links.length; ii++) document.links[ii].onfocus=function(){this.blur()} }将其封装为一个函数 function fHideFocus(tName){ aTag=document.getElementsByTagName(tName); for(i=0;i<aTag.length;i++)aTag[i].hideFocus=true; //for(i=0;i<aTag.length;i++)aTag[i].onfocus=function(){this.blur();}; }当前是添加一个hidefocus的属性,注释掉的句子是添加onfucus=this.blur(); 然后调用fHideFocus(A);即可把a的虚线框去掉 通过传递不同的参数 可以去掉更多的虚线框 比如BUTTON可以去掉button的 但要记住参数要用大写字母
应用技巧及疑问
A. map area内链接如何消除链接虚线?
这是一个观念上的错误,其实应该在所在map的图片上加以控制,而不是在area内,参考传统办法
B. 关于onFocus <a href=“http://blog.csdn.net/alonesword/“ onFocus=this.blur()> <Img Src=Example.jpg Border=0> </a>其中,onFocus是设置鼠标焦点事件的东西,这个可以用,也可以不用,不过为了让更多的浏览器识别的话,建议采用;Border=0 这个才是去除虚线框的关键所在(在网上看到有的人用onFocus=“this.blur()”来消除虚线框,但在本地测试时,仅仅用这一句是不能消除的) 本文转摘自『IT学习者』http://www.itlearner.com/article/2006/3594.shtml |