javascript:void(0)和javascript:;的用法

原文連接:https://www.cnblogs.com/Qian123/p/5345697.html

一更振、JavaScript:void(0)

我們經(jīng)常會(huì)使用到javascript:void(0)這樣的代碼,那么在 JavaScript 中 javascript:void(0) 代表的是什么意思呢豹储?

javascript:void(0) 中最關(guān)鍵的是 void關(guān)鍵字, void 是 JavaScript 中非常重要的關(guān)鍵字,該操作符指定要計(jì)算一個(gè)表達(dá)式但是不返回值蜕劝。

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í)慣。

我們可以使用void 操作符指定超級(jí)鏈接婴削。表達(dá)式會(huì)被計(jì)算但是不會(huì)在當(dāng)前文檔處裝入任何內(nèi)容廊镜。

下面的代碼創(chuàng)建了一個(gè)超級(jí)鏈接,當(dāng)用戶點(diǎn)擊以后不會(huì)發(fā)生任何事唉俗。當(dāng)用戶點(diǎn)擊鏈接時(shí)嗤朴,void(0)計(jì)算為 0,但在 JavaScript 上沒(méi)有任何效果虫溜。

<a href="javascript:void(0)">單擊此處什么也不會(huì)發(fā)生</a>

也就是說(shuō)雹姊,要執(zhí)行某些處理,但是不整體刷新頁(yè)面的情況下衡楞,可以使用void(0),但是在需要對(duì)頁(yè)面進(jìn)行refresh的情況下吱雏,那就要仔細(xì)了。

下面的代碼創(chuàng)建了一個(gè)超級(jí)鏈接寺酪,用戶單擊時(shí)會(huì)提交表單坎背。

<a href="javascript:void(document.form.submit())">單此處提交表單</a>

其實(shí)我們可以這樣用<a href="javascript:void(document.form.submit())">,這句話會(huì)進(jìn)行一次submit操作寄雀。那什么情況下用void(0)比較多呢得滤,無(wú)刷新,當(dāng)然是Ajax了盒犹,看一下Ajax的web頁(yè)面的話懂更,一般都會(huì)看到有很多的void(0),所以在使用void(0)之前,最好先想一想,這個(gè)頁(yè)面是否需要整體刷新急膀。

二沮协、<a>標(biāo)簽中href="javascript:;"

<a>標(biāo)簽的 href屬性用于指定超鏈接目標(biāo)的 URL,href 屬性的值可以是任何有效文檔的相對(duì)或絕對(duì) URL卓嫂,包括片段標(biāo)識(shí)符和 JavaScript 代碼段慷暂。

這里的href="javascript:;",其中``javascript:是偽協(xié)議晨雳,它可以讓我們通過(guò)一個(gè)鏈接來(lái)調(diào)用javascript函數(shù).而采用這個(gè)方式javascript:;```可以實(shí)現(xiàn)A標(biāo)簽的點(diǎn)擊事件運(yùn)行時(shí)行瑞,如果頁(yè)面內(nèi)容很多,有滾動(dòng)條時(shí)餐禁,頁(yè)面不會(huì)亂跳血久,用戶體驗(yàn)更好。

javascript:是表示在觸發(fā)<a>默認(rèn)動(dòng)作時(shí)帮非,執(zhí)行一段JavaScript代碼氧吐,而 javascript:;表示什么都不執(zhí)行讹蘑,這樣點(diǎn)擊<a>時(shí)就沒(méi)有任何反應(yīng)。

javascript:;表示這是一個(gè)空連接筑舅。點(diǎn)擊之后沒(méi)任何反應(yīng)座慰。
類似的是#,但是一個(gè)#點(diǎn)擊之后頁(yè)面很長(zhǎng)的情況下會(huì)會(huì)滾到頂部豁翎;而javascript:;沒(méi)這樣的問(wèn)題角骤;
當(dāng)然###這樣的效果就跟javascript:;一樣了

三、href="#"與href="javascript:void(0)"的區(qū)別

*# 包含了一個(gè)位置信息心剥,默認(rèn)的錨是#top也就是網(wǎng)頁(yè)的上端邦尊。

javascript:void(0), 僅僅表示一個(gè)死鏈接。

在頁(yè)面很長(zhǎng)的時(shí)候會(huì)使用 # 來(lái)定位頁(yè)面的具體位置优烧,格式為:# + id蝉揍。

如果你要定義一個(gè)死鏈接請(qǐng)使用 javascript:void(0)


在做頁(yè)面時(shí)畦娄,如果想做一個(gè)鏈接點(diǎn)擊后不做任何事情又沾,或者響應(yīng)點(diǎn)擊而完成其他事情,可以設(shè)置其屬性href = "#"熙卡,但是杖刷,這樣會(huì)有一個(gè)問(wèn)題,就是當(dāng)頁(yè)面有滾動(dòng)條時(shí)驳癌,點(diǎn)擊后會(huì)返回到頁(yè)面頂端滑燃,用戶體驗(yàn)不好。

目前有如下幾種解決辦法:
1)點(diǎn)擊鏈接后不做任何事情

1.  1.<a href="javascript:void(0);" >test</a>   
2.  2.<a href="javascript:;" >test</a>   
3.  3.<a href="####" >test</a> //使用2個(gè)到4個(gè)#颓鲜,見(jiàn)的大多是"####"表窘,也有使用"#all"等其他的  

2)點(diǎn)擊鏈接后,響應(yīng)用戶自定義的點(diǎn)擊事件

1.  1.<a href="javascript:void(0)" onclick="doSomething()">test</a>   
2.  2.<a href="#" onclick="doSomething();return false;">什么問(wèn)題都解決了,包括瀏覽器不兼容問(wèn)題</a> //或者直接使用href=""   
3.  3.<a href="#" onclick="alert();event.returnValue=false;">test</a>  

說(shuō)明:
1.javascript:void(0)這種偽協(xié)議甜滨,少寫(xiě)的好乐严,如果你看過(guò)一些web標(biāo)準(zhǔn)的書(shū)就知道為什么了。(不懂衣摩,原話摘的昂验,暫做記錄)
2.鏈接(href)直接使用javascript:void(0)在IE中可能會(huì)引起一些問(wèn)題,比如:造成gif動(dòng)畫(huà)停止播放等艾扮,所以既琴,最安全的辦法還是使用“####”。為防止點(diǎn)擊鏈接后跳轉(zhuǎn)到頁(yè)首栏渺,onclick事件return false即可呛梆。
3.如果僅僅是想鼠標(biāo)移過(guò)锐涯,變成手形磕诊,可以使用

1.  <span style="cursor:pointer" onclick="foo()">Click Me!</span>   

voidjavascript的操作符,意思是:只執(zhí)行表達(dá)式,但沒(méi)有返回值霎终,
void 操作符用法格式如下:

1.  1. javascript:void (expression)   
2.  2. javascript:void expression   

為了程序風(fēng)格良好滞磺,建議使用第二種帶上括號(hào)的
我們可以使用void操作符指定超級(jí)鏈接,如javascript:void(document.form.submit())莱褒。表達(dá)式會(huì)被計(jì)算但是不會(huì)在當(dāng)前文檔處裝入任何內(nèi)容击困,void(0)計(jì)算為0,但在JavaScript上沒(méi)有任何效果广凸,也就是說(shuō) <a href="javascript:void(0)">的效果同<a href="javascript:void(1)">的效果是一樣的阅茶。
關(guān)鍵是只要知道void是javascipt自身的操作符,它表示的是只執(zhí)行表達(dá)式谅海,但沒(méi)有返回值脸哀!

另外頁(yè)面會(huì)自動(dòng)調(diào)回頂端,是因?yàn)?code>"#"默認(rèn)的瞄點(diǎn)位置是top扭吁,所以會(huì)出現(xiàn)這種情況撞蜂。

-------------我是低調(diào)的分割線--------------------------

如果對(duì)你有幫助,可以點(diǎn)擊“推薦”哦`(∩_∩)′

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末侥袜,一起剝皮案震驚了整個(gè)濱河市蝌诡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌枫吧,老刑警劉巖浦旱,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異由蘑,居然都是意外死亡闽寡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門尼酿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)爷狈,“玉大人,你說(shuō)我怎么就攤上這事裳擎∠延溃” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵鹿响,是天一觀的道長(zhǎng)羡微。 經(jīng)常有香客問(wèn)我,道長(zhǎng)惶我,這世上最難降的妖魔是什么妈倔? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮绸贡,結(jié)果婚禮上盯蝴,老公的妹妹穿的比我還像新娘毅哗。我一直安慰自己,他們只是感情好捧挺,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布虑绵。 她就那樣靜靜地躺著,像睡著了一般闽烙。 火紅的嫁衣襯著肌膚如雪翅睛。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,688評(píng)論 1 305
  • 那天黑竞,我揣著相機(jī)與錄音捕发,去河邊找鬼。 笑死很魂,一個(gè)胖子當(dāng)著我的面吹牛爬骤,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播莫换,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼霞玄,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了拉岁?” 一聲冷哼從身側(cè)響起坷剧,我...
    開(kāi)封第一講書(shū)人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎喊暖,沒(méi)想到半個(gè)月后闯割,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體兽愤,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡县匠,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年肥缔,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片巩掺。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡偏序,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出胖替,到底是詐尸還是另有隱情研儒,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布独令,位于F島的核電站端朵,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏燃箭。R本人自食惡果不足惜冲呢,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望招狸。 院中可真熱鬧敬拓,春花似錦瓤湘、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)挽懦。三九已至翰意,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間信柿,已是汗流浹背冀偶。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留渔嚷,地道東北人进鸠。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像形病,于是被迫代替她去往敵國(guó)和親客年。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5漠吻? 答:HTML5是最新的HTML標(biāo)準(zhǔn)量瓜。 注意:講述HT...
    kismetajun閱讀 27,486評(píng)論 1 45
  • href="#"與href=“javascript:void(0)”的區(qū)別 #包含了一個(gè)位置信息,默認(rèn)的錨是#to...
    sukie0412閱讀 1,227評(píng)論 1 0
  • 第3章 基本概念 3.1 語(yǔ)法 3.2 關(guān)鍵字和保留字 3.3 變量 3.4 數(shù)據(jù)類型 5種簡(jiǎn)單數(shù)據(jù)類型:Unde...
    RickCole閱讀 5,128評(píng)論 0 21
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒(méi)有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對(duì)...
    cosWriter閱讀 11,103評(píng)論 1 32
  • 問(wèn)答題47 /72 常見(jiàn)瀏覽器兼容性問(wèn)題與解決方案途乃? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,754評(píng)論 1 92