设计之家 > 教程 > 網頁教程 > 其他教程 >

去除鏈接虛線全面分析總結

作者:佚名 來源:本站原創 時間:2006-03-09

傳統辦法,在標簽內加屬性 代碼多,修改難

<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()“來消除虛線框,但在本地測試時,僅僅用這一句是不能消除的)

标签:

相關文章:

推薦設計

最新文章