首先說(shuō)一下, href屬性 和 onclick事件 的執(zhí)行順序,當(dāng)鼠標(biāo)點(diǎn)擊a標(biāo)簽的時(shí)候會(huì)先執(zhí)行 onclick事件, 然后才是 href 屬性下的動(dòng)作(頁(yè)面跳轉(zhuǎn),或 javascript 偽鏈接),如果不想執(zhí)行href 屬性下的動(dòng)作執(zhí)行,onclick 需要要返回 false ,一般是這樣寫(xiě)onclick="xxx();return false。
href屬性里面如何執(zhí)行javascript代碼表達(dá)式及規(guī)范寫(xiě)法
“在Javascript中void是一個(gè)操作符,該操作符指定要計(jì)算一個(gè)表達(dá)式但是不返回值。
void 操作符用法格式如下:
1. javascript:void (expression)
2. javascript:void expression
expression 是一個(gè)要計(jì)算的 Javascript 標(biāo)準(zhǔn)的表達(dá)式。表達(dá)式外側(cè)的圓括號(hào)是選的,但是寫(xiě)上去是一個(gè)好習(xí)慣。 (實(shí)現(xiàn)版本 Navigator 3.0)
你以使用 void 操作符指定超級(jí)鏈接。表達(dá)式會(huì)被計(jì)算但是不會(huì)當(dāng)前文檔處裝入任何內(nèi)容。 ”
href=#包含了一個(gè)位置信息默認(rèn)的錨是#top 也就是網(wǎng)頁(yè)的上端 ,而javascript:void(0) 僅僅表示一個(gè)死鏈接,沒(méi)有任何信息。所以調(diào)用腳本的時(shí)候最好用void(0)
href一般是指向一個(gè)URL地址,也可以調(diào)用javascript ,如href="javascript:xxx();",文檔中推薦這樣寫(xiě):<a href=" javascript:void(0)" onclick="xxx();">xx</a>,但是這種方法在復(fù)雜環(huán)境有時(shí)會(huì)產(chǎn)生奇怪的問(wèn)題,盡量不要用javascript:協(xié)議做為A的href屬性,這樣不僅會(huì)導(dǎo)致不必要的觸發(fā)window.onbeforeunload事件,在IE里面更會(huì)使gif動(dòng)畫(huà)圖片停止播放。