曾經遇到的坑------href="#"和href="javascript:void(0);"、href="javascript:;"


  這個是為了 在點擊此鏈接后回到頁首,如果你寫href="#"那么點擊后會回到頁首,這樣影響操作。
  <a href="javascript:void 0" onclick="window.open('yoururl')">人員管理</a>
  <a href="javascript:return" onclick="window.open('yoururl')">人員管理</a>
  建議使用void 0方式,因為return方式,有時會影響click事件的傳播,尤其是return false的時候。

原因如下:

  href="#"是個錨點,鏈接指向當前頁面。

  href="javascript:void(0);" 和 href="javascript:;" 相當於死鏈接,默認阻止,不進行動作。

  兩者效果相當。但建議使用void(0)。只使用分號可能會影響before、after等操作。

  return 和 return false 相當於直接執行返回的結果  空或false。 不建議使用。

  另 href 和 click 是有優先級的,所以有時候我們會寫 <a href="javascript:void(0);" onclick=function() >。onclick 會先於 href 執行。

據說詳解如下:

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

void 操作符用法格式如下:
1. javascript:void (expression)
2. javascript:void expression

expression 是一個要計算的 Javascript 標准的表達式。表達式外側的圓括號是選的,但是寫上去是一個好習慣。 (實現版本 Navigator 3.0 )

你以使用 void 操作符指定超級鏈接。表達式會被計算但是不會當前文檔處裝入任何內容。

下面的代碼創建了一個超級鏈接,當用戶以后不會發生任何事。當用戶鏈接時,void(0) 計算為 0,但 Javascript 上沒有任何效果。

<A HREF="javascript:void(0)">單此處什么也不會發生</A>

下面的代碼創建了一個超級鏈接,用戶單時會提交表單。
<A HREF="javascript:void(document.form.submit())">
單此處提交表單</A>
a href=#與 a href=javascript:void(0) 的區別 鏈接的幾種辦法

#包含了一個位置信息

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

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

這就是為什么有的時候頁面很長瀏覽鏈接明明是#是

跳動到了頁首

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

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

或者<input onclick>

<div onclick>等

鏈接的幾種辦法
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)">株洲</a>

window.location.href=""


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM