当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 去除链接虚线全面分析总结

Javascript
javascript form 验证函数 弹出对话框形式
IE JS编程需注意的内存释放问题
JQuery 无废话系列教程(二) jquery实战篇上
一些常用的JS功能函数代码
一个很酷的拖动层的js类,兼容IE及Firefox
JavaScript 开发中规范性的一点感想
javascript 连连看代码出炉
javascript 读取图片文件的大小
JQuery 国际象棋棋盘 实现代码
javascript 可以拖动的DIV(二)
[原创]javascript 改变字体大小方法集合
javascript 变量作用域 代码分析
js AspxButton的客户端操作
event对象的方法 兼容多浏览器
Javascript 阻止javascript事件冒泡,获取控件ID值
Javascript 函数对象的多重身份
javawscript 三级菜单的实现原理
js 跨域和ajax 跨域问题小结
JavaScript XML操作 封装类
通用的二级菜单代码(css+javascript)

Javascript 中的 去除链接虚线全面分析总结


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 310 ::
收藏到网摘: n/a

传统办法,在标签内加属性 代码多,修改难
<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()“来消除虚线框,但在本地测试时,仅仅用这一句是不能消除的)