在a標籤的href與onclick中使用javascript的區別javascript
⒈ 連接的 onclick 事件被先執行,其次是 href 屬性下的動做(頁面跳轉,或 javascript 僞連接);java
⒉ 假設連接中同時存在 href 與 onclick,若是想讓 href 屬性下的動做不執行,onclick 必須獲得一個 false 的返回值;web
⒊ 若是頁面過長有滾動條,且但願經過連接的 onclick 事件執行操做。應將它的 href 屬性設爲 javascript:void(0);,而不要是 #,這能夠防止沒必要要的頁面跳動;函數
⒋ 若是在連接的 href 屬性中調用一個有返回值的函數,當前頁面的內容將被此函數的返回值代替;post
⒌ 在按住Shift鍵的狀況下會有所區別。學習
⒍ 在IE6.0裏以href的形式訪問不到parentNode。儘可能不要用javascript:協議作爲A的href屬性,這樣不只會致使沒必要要的觸發window.onbeforeunload事件,在IE裏面更會使gif動畫圖片中止播放。就這些,花了很多時間在這上面。測試
(IE6下)動畫
<a href="javascript:void(0);" onclick="javascript:modifypassword();"><img src="images/blue/Modify.gif"/></a>spa
此種寫法IE6下面URL雖然請求了後臺,可是前臺沒有動靜,orm
正確的寫法應該爲
<a href="javascript:void(0);" onclick="javascript:modifypassword();return false;"><img src="images/blue/Modify.gif"/></a>
我的收藏的幾個例子,供你們學習一下:
1:<a href="####"></a>
2:<a href="javascript:void(0)"></a>
3:<a href="javascript:void(null)"></a>
4:<a href="#" onclick="return false"></a>
5:<span style="cursor:hand"></span>(好像在FF中不能顯示)-------------------------------------------------------------------------------
慎用JavaScript:void(0)今天測試的時候,明明程序已經執行,而且最後結果也是正確的,可是頁面就是不刷新。
在FireFox2.0和ie7下測試,結果倒是正常的,IE6卻恰恰不刷新!仔細調查了一下,發現頁面連接的是 <a href="javaScript:void(0)" OnClick="XXX_Func();" ….> 測試 </a>,問題就出在這個void(0)上!
讓咱們先來看看JavaScript中void(0)的含義:JavaScript中void是一個操做符,該操做符指定要計算一個表達式可是不返回值。 void 操做符用法格式以下: 1. javascript:void (e-xpression) 2. javascript:void e-xpression e-xpression是一個要計算的 JavaScript 標準的表達式。表達式外側的圓括號是可選的,可是寫上去是一個好習慣。咱們可使用 void 操做符指定超級連接。表達式會被計算可是不會在當前文檔處裝入任何內容。面的代碼建立了一個超級連接,當用戶點擊之後不會發生任何事。當用戶點擊連接時,void(0) 計算爲 0,但在 JavaScript 上沒有任何效果。<a href="javascript:void(0)">單擊此處什麼也不會發生</a>也就是說,要執行某些處理,可是不總體刷新頁面的狀況下,可使用void(0),可是在須要對頁面進行refresh的狀況下,那就要仔細了。其實咱們能夠這樣用<a href="javascript:void(document.form.submit())">,這句話會進行一次submit操做。那什麼狀況下用void(0)比較多呢,無刷新,固然是Ajax了,看一下Ajax的web頁面的話,通常都會看到有不少的void(0),:) ,因此在使用void(0)以前,最好先想想,這個頁面是否須要總體刷新。