javascript:void(0)
在 HTML 和 JavaScript 中是一個(gè)常見(jiàn)的表達(dá)式,主要用來(lái)創(chuàng)建一個(gè)無(wú)操作的鏈接(通常是 標(biāo)簽)或者阻止默認(rèn)事件處理。具體來(lái)說(shuō),它的作用有以下幾點(diǎn):
- 阻止鏈接跳轉(zhuǎn) :
當(dāng)你有一個(gè)標(biāo)簽但不想讓它跳轉(zhuǎn)到另一個(gè)頁(yè)面時(shí),可以使用
javascript:void(0)
作為href
屬性的值。這樣可以防止瀏覽器加載一個(gè)新的頁(yè)面。
< a href="javascript:void(0)" onclick="doSomething()" >Click me< /a >
在這個(gè)例子中,點(diǎn)擊鏈接時(shí)不會(huì)跳轉(zhuǎn),而是執(zhí)行 doSomething()
函數(shù)。
- 占位符 : 在某些情況下,
javascript:void(0)
也可以用作占位符,尤其是在你想先確保某段 JavaScript 代碼有效執(zhí)行,但暫時(shí)不確定href
指向什么地址時(shí)。 - 防止表單提交 : 對(duì)于 表單,也可以使用
javascript:void(0)
來(lái)防止表單的默認(rèn)提交行為,特別是在你想通過(guò) JavaScript 進(jìn)行自定義驗(yàn)證或處理時(shí)。
< form onsubmit="validateForm(); return false;" >
< !-- form fields -- >
< button type="submit" >Submit< /button >
< /form >
或者在某些情況下,通過(guò)添加一個(gè)隱藏的鏈接來(lái)阻止表單提交:
< form >
< !-- form fields -- >
< a href="javascript:void(0)" onclick="event.preventDefault(); validateForm();" >Submit< /a >
< /form >
但需要注意,更常見(jiàn)和推薦的做法是直接處理表單的 onsubmit
事件,如上面的第一個(gè)例子所示。
- 確保 URL 不被篡改 : 在一些用戶生成內(nèi)容(UGC)的場(chǎng)景下,為了避免用戶插入惡意鏈接,開(kāi)發(fā)者可能會(huì)使用
javascript:void(0)
作為默認(rèn)鏈接,并在點(diǎn)擊時(shí)通過(guò) JavaScript 動(dòng)態(tài)處理用戶的輸入。
例如,可以使用 addEventListener
來(lái)處理點(diǎn)擊事件,并調(diào)用 event.preventDefault()
來(lái)阻止默認(rèn)行為:
< a id="myLink" href="#" >Click me< /a >
< script >
document.getElementById('myLink').addEventListener('click', function(event) {
event.preventDefault();
doSomething();
});
< /script >
-
代碼
+關(guān)注
關(guān)注
30文章
4882瀏覽量
70090 -
javascript
+關(guān)注
關(guān)注
0文章
525瀏覽量
54399 -
監(jiān)聽(tīng)器
+關(guān)注
關(guān)注
0文章
12瀏覽量
14555
發(fā)布評(píng)論請(qǐng)先 登錄
評(píng)論