html中對于a標(biāo)簽的onclick以及href的執(zhí)行順序詳細(xì)說明
發(fā)表時間:2024-01-02 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]onclick的事件被先執(zhí)行,其次是href中定義的(頁面跳轉(zhuǎn)或者javascript)同時存在兩個定義的時候(onclick與href都定義了),如果想阻止href的動作,在onclick必須加上return false; 一般是這樣寫onclick="xxx();return fal...
onclick的事件被先執(zhí)行,其次是href中定義的(頁面跳轉(zhuǎn)或者javascript)
同時存在兩個定義的時候(onclick與href都定義了),如果想阻止href的動作,在onclick必須加上return false; 一般是這樣寫onclick="xxx();return false;".
在href中定義的函數(shù)如果有返回值的話,當(dāng)前頁面的內(nèi)容將被返回值代替
如果頁面過長有滾動條,且希望通過鏈接的 onclick 事件執(zhí)行操作。應(yīng)將它的 href 屬性設(shè)為 javascript:void(0);,而不要是 #,這可以防止不必要的頁面跳動;
所以,比較推薦的寫法是
<a href="javascript:void(0)" onclick="fn(this)">
<a href="javascript:void(0);" onclick="javascript:goUrl('http://www.sina.com');return false;">跳轉(zhuǎn)3</a>
<a href="javascript:void(0)" onclick="subgo()">點(diǎn)我</a>
在這里,javascript:void(0),沒啟實(shí)質(zhì)上的作用,它僅僅是一個死鏈接,執(zhí)行的函數(shù)是subgo()。
<a href="#" onclick="subgo()">點(diǎn)我</a>與<a href="javascript:void(0)" onclick="subgo()">點(diǎn)我</a>區(qū)別。
實(shí)際上 #包含了一個位置信息默認(rèn)的錨是#top 也就是網(wǎng)頁的上端 ,而javascript:void(0) 僅僅表示一個死鏈接,沒有任何信息。所以調(diào)用腳本的時候最好用void(0)
href一般是指向一個URL地址,也可以調(diào)用javascript ,如href="javascript:xxx();",文檔中推薦這樣寫:<a href=" javascript:void(0)" onclick="xxx();">xx</a>,但是這種方法在復(fù)雜環(huán)境有時會產(chǎn)生奇怪的問題,盡量不要用javascript:協(xié)議做為A的href屬性,這樣不僅會導(dǎo)致不必要的觸發(fā)window.onbeforeunload事件,在IE里面更會使gif動畫圖片停止播放。
點(diǎn)擊這樣一個鏈接時會有兩種情況發(fā)生,1、如果dosomthing返回true,那么瀏覽器就會發(fā)生跳轉(zhuǎn)到cool.html,相反如果返回false的話,就會忽略href。因此借住這個特性,我們可以寫這樣的代碼......
<a href="cool.html" onclick = "doSomething()">做點(diǎn)什么吧</a>
function doSomething(){
return confirm("您確認(rèn)要離開嗎");
}
function doSomething(){
var ret = confirm("確認(rèn)要離開嗎?");
if(ret){
window.loaction.href = "cool.html";
}
}
以上就是html中關(guān)于a標(biāo)簽的onclick以及href的執(zhí)行順序詳解的詳細(xì)內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!
網(wǎng)站建設(shè)是一個廣義的術(shù)語,涵蓋了許多不同的技能和學(xué)科中所使用的生產(chǎn)和維護(hù)的網(wǎng)站。