⒈ 鏈接的 onclick 事件被先執行,其次是 href 屬性下的動作(頁面跳轉,或 javascript 偽鏈接);
⒉ 假設鏈接中同時存在 href 與 onclick,如果想讓 href 屬性下的動作不執行,onclick 必須得到一個 false 的返回值;
⒊ 如果頁面過長有滾動條,且希望通過鏈接的 onclick 事件執行操作。應將它的 href 屬性設為 javascript:void(0);,而不要是 #,這可以防止不必要的頁面跳動;
⒋ 如果在鏈接的 href 屬性中調用一個有返回值的函數,當前頁面的內容將被此函數的返回值代替;
⒌ 在按住Shift鍵的情況下會有所區別。
⒍ 在IE6.0里以href的形式訪問不到parentNode。盡量不要用javascript:協議做為A的href屬性,這樣不僅會導致不必要的觸發window.onbeforeunload事件,在IE里面更會使gif動畫圖片停止播放。就這些,花了不少時間在這上面。
(IE6下)
a href= javascript:void(0); quot;javascript:modifypassword(); img src= images/blue/Modify.gif / /a
此種寫法IE6下面URL雖然請求了后臺,但是前臺沒有動靜,
正確的寫法應該為
a href= javascript:void(0); quot;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= # quot;return false /a 5: span >-------------------------------------------------------------------------------
慎用JavaScript:void(0)今天測試的時候,明明程序已經執行,并且最后結果也是正確的,但是頁面就是不刷新。
在FireFox2.0和ie7下測試,結果卻是正常的,IE6卻偏偏不刷新!仔細調查了一下,發現頁面鏈接的是 a href= javaScript:void(0) quot;XXX_Func(); …. 測試 /a ,問題就出在這個void(0)上!
讓我們先來看看JavaScript中void(0)的含義:JavaScript中void是一個操作符,該操作符指定要計算一個表達式但是不返回值。
void 操作符用法格式如下:1. javascript:void (e-xpression)2. javascript:void e-xpressione-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)比較多呢,無刷新,當然是html' target='_blank'>Ajax了,看一下Ajax的web頁面的話,一般都會看到有很多的void(0),:) ,所以在使用void(0)之前,最好先想一想,這個頁面是否需要整體刷新。
以上就是在a標簽的href與onclick中使用JavaScript的區別的詳細內容,html教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答