javascript:void(0) 的常見使用場(chǎng)景
javascript:void(0)
是一個(gè)常見的 JavaScript 偽協(xié)議,下面從幾個(gè)方面詳細(xì)解釋其含義和用途。
基本含義
javascript:
是一種偽協(xié)議,它告訴瀏覽器后面跟隨的是一段 JavaScript 代碼。void
是 JavaScript 中的一個(gè)操作符,void(0)
的作用是對(duì)給定的表達(dá)式求值,然后返回 undefined
。所以 javascript:void(0)
本質(zhì)上就是執(zhí)行一段 JavaScript 代碼,其返回值為 undefined
。
常見使用場(chǎng)景
1. 阻止鏈接默認(rèn)行為
在 HTML 的 <a>
標(biāo)簽中,當(dāng)你不想讓鏈接跳轉(zhuǎn)到指定的 href
地址,同時(shí)又想在點(diǎn)擊鏈接時(shí)執(zhí)行一些 JavaScript 代碼,就可以使用 javascript:void(0)
。示例如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" onclick="alert('點(diǎn)擊了鏈接')">點(diǎn)擊我</a> </body> </html>
在這個(gè)例子中,點(diǎn)擊鏈接不會(huì)進(jìn)行頁(yè)面跳轉(zhuǎn),而是觸發(fā) onclick
事件,彈出一個(gè)提示框。
2. 占位用途
在一些情況下,你可能還沒有確定鏈接的具體跳轉(zhuǎn)地址或者操作邏輯,但又需要一個(gè)鏈接元素,此時(shí)可以先使用 javascript:void(0)
作為 href
的值。示例如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" >待實(shí)現(xiàn)的鏈接</a> </body> </html>
替代方案
在現(xiàn)代的前端開發(fā)中,更推薦使用事件監(jiān)聽器來阻止鏈接的默認(rèn)行為,而不是使用 javascript:void(0)
。示例如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <a id="myLink" href="#" rel="external nofollow" >點(diǎn)擊我</a> <script> const link = document.getElementById('myLink'); link.addEventListener('click', function (event) { event.preventDefault(); alert('點(diǎn)擊了鏈接'); }); </script> </body> </html>
使用 event.preventDefault()
可以更清晰地表達(dá)阻止默認(rèn)行為的意圖,并且使 HTML 和 JavaScript 代碼分離,提高代碼的可維護(hù)性。
到此這篇關(guān)于javascript:void(0) 的常見使用場(chǎng)景的文章就介紹到這了,更多相關(guān)javascript:void(0) 使用場(chǎng)景內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- JavaScript:void(0)用法及一些常見問題解決辦法
- javascript:void(0)用法及常見問題解析
- javascript:void(0)用法及常見問題分析
- javascript:void(0)的含義及用法實(shí)例
- 詳解javascript void(0)
- javascript:void(0)點(diǎn)擊登錄沒反應(yīng)怎么解決
- js中javascript:void(0) 真正含義
- js中 javascript:void(0) 用法詳解
- javascript:void(0)是什么意思示例介紹
- javascript:void(0)的作用示例介紹
- javascript:void(0)使用探討
- javascript void(0)的妙用
相關(guān)文章
js中addEventListener()與removeEventListener()用法案例分析
這篇文章主要介紹了js中addEventListener()與removeEventListener()用法,結(jié)合實(shí)例形式分析了js中addEventListener()與removeEventListener()基本功能、用法與操作注意事項(xiàng),需要的朋友可以參考下2020-03-03JavaScript樹形數(shù)據(jù)結(jié)構(gòu)處理
這篇文章主要介紹了JavaScript樹形數(shù)據(jù)結(jié)構(gòu)處理,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-07-07JS 設(shè)計(jì)模式之:?jiǎn)卫J蕉x與實(shí)現(xiàn)方法淺析
這篇文章主要介紹了JS 設(shè)計(jì)模式之:?jiǎn)卫J?結(jié)合實(shí)例形式分析了JS 單例模式原理、定義、實(shí)現(xiàn)方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2020-05-05分離式j(luò)avascript取當(dāng)前element值的代碼
比較不錯(cuò)的分離式j(luò)s代碼,獲取element的值,大家注意下,運(yùn)行后的效果是32之類的值,其實(shí)主要是沒有強(qiáng)制轉(zhuǎn)換成數(shù)字,所以大家可以加上2008-05-05Code Review 方法論與實(shí)踐總結(jié)梳理
這篇文章主要為大家介紹了Code Review 方法論與實(shí)踐總結(jié)梳理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02