javascript:void(0)的用法
下面的代碼創建了一個超級鏈接,當用戶以后不會發生任何事。當用戶鏈接時,void(0) 計算為 0,但 Javascript 上沒有任何效果。
<a HREF="javascript:void(0)">單此處什么也不會發生</a>
下面的代碼創建了一個超級鏈接,用戶單時會提交表單。
<a HREF="javascript:void(document.form.submit())"> 單此處提交表單</a>
下面代碼則執行了subgo()函數,在這里,javascript:void(0),沒啟實質上的作用,它僅僅是一個死鏈接,執行的函數是subgo()。
<a href="#" onclick="subgo()">點我</a>與<a href="javascript:void(0)" onclick="subgo()">點我</a>區別。
<a href="javascript:void(0)" onclick="javascript:history.back();">返回 </a>
href=”#”,包含了一個位置信息.默認的錨是#top,也就是網頁的上端,當連續快速點擊此鏈接時會導致瀏覽器巨慢甚至崩潰。而javascript:void(0) 僅僅表示一個死鏈接,沒有任何信息。所以調用腳本的時候最好用void(0)
href="#"與javascript:void(0)的區別
href="#"方法其實也是空連接的意思,但是點擊之后會自動跳轉到頁面的最上面,因為用了這個方法就相當於點擊了一個錨記,但是這個錨記又沒寫ID,所以就默認跳轉到頁面頂部。從上面的例子也可以看出,當要執行某些處理,但是不整體刷新頁面的情況下,可以使用void(0),但是在需要對頁面進行refresh的情況下,那就要仔細了。
說白了,href="#"這種形式會整體刷新頁面,而href="javascript:void(0)" 則不會。所以如果是空連接的話,還是推薦javascript:void(0)。
href = "#"當頁面有滾動條時,點擊后會返回到頁面頂端的解決辦法
1、點擊鏈接后不做任何事情
<a href="javascript:void(0);" >test</a> <a href="javascript:;" >test</a> <a href="####" >test</a> //使用2個到4個#,見的大多是"####",也有使用"#all"等其他的
2、點擊鏈接后,響應用戶自定義的點擊事件
<a href="javascript:void(0)" onclick="doSomething()">test</a> <a href="#" onclick="doSomething();return false;">什么問題都解決了,包括瀏覽器不兼容問題</a> //或者直接使用href="" <a href="#" onclick="alert();event.returnValue=false;">test</a>
使用javascript:void(0)會引起什么問題?
鏈接(href)直接使用javascript:void(0)在IE中可能會引起一些問題,比如:造成gif動畫停止播放等,所以,最安全的辦法還是使用“####”。為防止點擊鏈接后跳轉到頁首,onclick事件return false即可。 如果僅僅是想鼠標移過,變成手形,則可以使用。
解決IE下使用javascript:void(0)方法會跳轉的方法
使用return false;可以阻止javascript:void(0)去執行。
使用target="_self"可以阻止會跳轉到其他頁面,因其是空函數,則不會發生頁面刷新。
<a href="javascript:void(0)" title="關閉" onclick="delbook();return false;">關閉</a>
<a href="javascript:void(0)" target="_self" title="關閉" onclick="delbook();">關閉</a> //與下面等價
<a href="javascript:delbook()" target="_self" title="關閉">關閉</a>