全 局控制 CSS實現
a{blr:expression(this.onFocus=this.close());} /* 只支持IE,過多使用效率低 */
a{blr:expression(this.onFocus=this.blur());} /* 只支持IE,過多使用效率低 */
a:focus { -moz-outline-style: none; } /* IE不支持 */
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
當一個鏈接得到焦點時,默認會有個虛線框。如圖:
在 Firefox 裏可以用 -moz-outline:none; 或者 outline:none; 來將其去掉。所以我們可以這樣寫:a:focus {
outline:none;
-moz-outline:none;
}
順便提一下,如果你用過 Safari 和 Chrome 可能會發現,當輸入框得到焦點時邊框會出現陰影效果。
如果想去掉陰影效果也可以用 outline 屬性。input,textarea {
outline:none;
}
言歸正傳,剛剛說的是 Firefox ,現在說說 IE。首先比較遺憾,還沒有找到通過 CSS 去掉 IE 鏈接虛線框比較好的解決辦法。所以只能用一個替代的辦法,就是 a 標籤的 hidefocus 屬性(這個屬性是 IE 獨有的)。<a href="#" hidefocus="true">鏈接</a>
注意:JS 腳本對應的屬性名是:hideFocus。對應的 JS 代碼應該是:
xxx.hideFocus = 'true';
還有一種不推薦的辦法。就是讓鏈接得到焦點的時候失去焦點。
<a href="#" οnfοcus="this.blur();">鏈接</a>這種辦法很管用,但過於暴力,最好不要用了。
可以在每一個<a><img>中加入onFosuc = this.blur(); ,但如果我們需要批量解決整站點的超鏈接虛線框,一個一個加這樣的代碼,不是要暈了。
可以使用三種方法解決:
第一,使用DW中的插件:scrubber.mxp,代點是可以對於整頁內的超鏈接進行處理,但無法對整站點消除虛線框,有侷限性。
第二,使用樣式表,這樣,就可以對整站進行處理了。
樣式代碼:
a {blr:expression_r(this.onFocus=this.blur())}
如果是圖片區域,可以加:
area {blr:expression_r(this.onFocus=this.blur())}
一切都搞定了。
第三,也可以利用htc文件加入a.style.behavior屬性.如:
<style>
a,img
{
behavior:url(js文件地址);
}
</style>
在js文件中寫入下面語句
<attach event="onFocus" handler="onFocus" />
<SCRIPT language="javascript">
function onFocus()
{
this.blur();
}
</SCRIPT>
---------------------
沒有什麼救世主推薦:
第二種方法
使用樣式表,這樣,就可以對整站進行處理了。
樣式代碼:
a {blr:expression_r(this.onFocus=this.blur())}
如果是圖片區域,可以加:
area {blr:expression_r(this.onFocus=this.blur())}
一切都搞定了。