給html超鏈接設置事件不使用href來完成跳

有的時候,我們需要使用這個超級鏈接,而又不使用href來完成跳轉,而是如:這種方式。這樣,就不會讓頁面跳轉。但是同時也會帶來一些負面的問題,比如頁面的title變成了“#”,或者頁面出現了滾動條什麼的。這是因爲在執行完了onClick事件後,又去跳轉href所指向的地址了,而”#“是個錨點,默認是網頁的頁首,所以會帶來上邊所說的問題。

解決方法有以下兩種:

1、onClick事件添加return false語句,例如:

<a href="#" onClick="fun(); return false;">點擊</a> 


2、用void(0)的方式代替#,例如:

<a href="javascript:void(0)" onclick="fun()">點擊</a> 

推薦使用1

Javascript中void是一個操作符,該操作符指定要計算一個表達式但是不返回值。

鏈接(href)直接使用javascript:void(0)在IE中可能會引起一些問題,比如:造成gif動畫停止播放等,所以,最安全的辦法還是使用“#”。爲防止點擊鏈接後跳轉到頁首,onclick 事件 return false即可。

#"包含了一個位置信息

默認的錨點是#top 也就是網頁的上端

而javascript:void(0)  僅僅表示一個死鏈接

這就是爲什麼有的時候頁面很長瀏覽鏈接明明是#可是跳動到了頁首

而javascript:void(0) 則不是如此

所以調用腳本的時候最好用void(0)

href爲空的時候不顯示超鏈接樣式

所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章