首頁  >  文章  >  web前端  >  a href=#與 a href=javascript:void(0) 的區別

a href=#與 a href=javascript:void(0) 的區別

高洛峰
高洛峰原創
2017-03-01 14:37:221445瀏覽

a href=# 點擊鏈接後,頁面會向上滾到頁首,# 默認錨點為 #TOP,javascript:void(0) 點擊鏈接後,頁面不動,只打開鏈接,具體祥看本文 a href="#"> 點選連結後,頁面會向上滾到頁首,# 預設錨點為#TOP

04ceebeb6609a4c7814ec274c8b8e5ee 點選連結後,頁面不動,只開啟連結

64308f6157e41ac9428e65109e13639d 作用同上,不同瀏覽器會有差異。

點選連結後,不想讓頁面滾到頁首,就用href="javascript:void(0)",不要用href="#",return false也有類似作用

#詳解href="#"與href="javascript:void(0)"的區別

"#"包含了一個位置資訊
預設的錨點是#top 也就是網頁的上端
而javascript:void(0) 僅僅表示一個死連結
這就是為什麼有的時候頁面很長瀏覽連結明明是#可是跳動到了頁首
而javascript:void(0 ) 則不是如此
所以呼叫腳本的時候最好用void(0)
或7ce8961e120a815eeb46b3f04acc755f
56ea8152226b1444ce0c2c61f8d5d4f7等

#打開新視窗連結的幾種方法

1.window.open('url')
2.用自訂函數 

程式碼如下:

<script> 
function openWin(tag,obj) 
{ 
obj.target="_blank"; 
obj.href = "Web/Substation/Substation.aspx?stationno="+tag; 
obj.click(); 
} 
</script> 
<a href="javascript:void(0)" onclick="openWin(3,this)">LINK_TEST</a> 

window.location.href=""

#-------- -------------------------------------------------- ---------------------
如果是個# ,就會出現跳到頂部的情況,個人收藏的幾種解決方法:
1: 46cb9c4627e16a1c97b2368c4a6a6b795db79b134e9f6b82c0b36e0489ee08ed
2:0408054196e655f677973fb4d7c998655db79b134e9f6b82c0b36e0489ee08ed
3:8d26f13a22ed48196444b8655a09e9505db79b134e9f6b82c0b36e0489ee08ed
4:755146b0f224288ff1f9517809ac46ba5db79b134e9f6b82c0b36e0489ee08ed
5:< ;span style="cursor:hand">54bdf357c58b8a65c66d7c19c8e4d114(好像在FF中不能顯示)
----------------------- -------------------------------------------------- ------
慎用JavaScript:void(0)

今天調試CGI的時候,明明CGI程式已經執行,最後結果也是正確的,但是頁面就是不刷新。在FireFox2.0下測試,結果卻是正常的,但IE6卻偏偏不刷新!仔細調查了一下,發現cgi頁面連結的是e3c9de0f3f8fe75ade5d5e9fafa00a55 only a sample 5db79b134e9f6b82c0b36e0489ee08ed,問題就出在這個void(0)上!讓我們先來看看JavaScript中void(0)的含義:
JavaScript中void是一個操作符,該操作符指定要計算一個表達式但是不回傳值。

void 運算子用法格式如下:

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

expression_r_r是一個要計算的JavaScript 標準的表達式。表達式外側的圓括號是可選的,但是寫上去是一個好習慣。我們可以使用 void 運算子指定超級連結。表達式會被計算但是不會在目前文件處裝入任何內容。面的程式碼創建了一個超級鏈接,當用戶點擊以後不會發生任何事。當使用者點擊連結時,void(0) 計算為 0,但在 JavaScript 上沒有任何效果。
0408054196e655f677973fb4d7c99865單擊此處什麼也不會發生5db79b134e9f6b82c0b36e0489ee08ed
也就是說,要執行某些處理,但是不整體刷新頁面的情況下,可以使用void(0),但是在需要對頁面進行refresh的情況下,那就要仔細了。
其實我們可以這樣用870cd383f150d4ad83c7c7790d241cd0,這句話會進行一次submit操作。那什麼情況下用void(0)比較多呢,無刷新,當然是Ajax了,看一下Ajax的web頁面的話,通常都會看到有很多的void(0),:) ,所以在使用void(0 )之前,最好先想想,這個頁面是否需要整體刷新。

使用javascript的時候,通常我們會透過類似:

ad41dbf1767df687c854fabf99a0b026提交5db79b134e9f6b82c0b36e0489ee08ed
的方式,透過一個偽連結來呼叫javascript方法.這種方法有一個問題是:
雖然點擊該連結的時候不會跳轉頁面.但是滾動條會往上滾,解決的辦法是返回一個false.

如下:

44494ed6ae57e951d3c18cbb7b401068提交5db79b134e9f6b82c0b36e0489ee08ed

#還可以用


a href="javascript:void(0)" onclick="javascript:方法;return false;"提交
javascript:void(0)就不會向上跳了: )

還有一個方法是#this

a href="#this" onclick="javascript:方法"

###更多a href=#與a href=javascript:void(0) 的差異相關文章請關注PHP中文網! ###
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn