href="javascript:void(0);" considered harmful
有時候使用<a>標記僅僅是用來掛載click事件,我們常常這樣寫:
- <a href="javascript:void(0);" onclick="doSomething();">click</a>
- <a href="javascript:void 0;" onclick="doSomething();">click</a>
- <a href="javascript:;" onclick="doSomething();">click</a>
- <a href="javascript:void doSomething();">click</a>
這些寫法利用javascript“協議”和void運算子來告訴瀏覽器“這個連結哪裡都不去”,從而取消<a>作為“超級連結”的作用。不過會帶來一些問題,尤其是用於開啟popup windows時:
- 不能使用右鍵選單中的open in new window
- 不能把連結地址加入收藏夾
- 狀態列會顯示出終端使用者搞不懂的“程式碼”,他們會認為“出錯了”
- 一旦指令碼下載不完整或瀏覽器僅用了JavaScript,網頁會非常sb
更為嚴重的是,在IE中會導致一些你永遠也猜不出原因的古怪問題。例如IE6中,用這種方法掛載的事件處理函式中改變img的src屬性,瀏覽器不會顯示圖片,必須在右鍵選單中點show picture才能顯示
XHTML:
<a href="#" onclick="aFunction();return false;">
A Link
</a>
The return false (that must appear after the last function call) informs the browser that the action of returning a reference to a URL, should not evaluate. Instead it should return false, including internal links, and therefore it does nothing.
相關文章
- 關於火狐和IE下href=”javascript:void(0)”相容性的問題JavaScript
- Javascript:void(0)和#JavaScript
- JavaScript 中 void(0) 的含義JavaScript
- javascript:void(0)的作用是什麼JavaScript
- 【JavaScript】奇怪的知識void 0 === undefined 為 trueJavaScriptUndefined
- javascript:void(0)語句的作用是什麼JavaScript
- JavaScript void 運算子JavaScript
- javascript獲取location.href引數JavaScript
- 為什麼用「void 0」代替「undefined」Undefined
- jsjavascript:void(0)真正含義(轉)JSJavaScript
- JavaScript修改連結a的href屬性值JavaScript
- (void 0) 與 undefined 之間的小九九Undefined
- 前端戰五渣學JavaScript——void 運算子前端JavaScript
- 在a標籤的href與onclick中使用javascript的區別JavaScript
- 你真的知道為什麼要使用void(0)代替undefined嗎?Undefined
- javascript:void(null)gitLab---Host key verification failed.JavaScriptNullGitlabAI
- JavaScript中的+0與-0JavaScript
- URL href 屬性
- 你知道void和Void的區別嗎
- 簡述static關鍵字、void與void *(void指標)、函式指標指標函式
- javascript運算子——條件、逗號、賦值、()和void運算子JavaScript賦值
- CSSStyleSheet.href 屬性CSS
- url、href、src區別
- public void sendHtmlHTML
- 通過qsort(void * lineptr[], int left, int rifht, int (*comp)(void *, void *))解讀指標函式和void指標...指標函式
- NSObject +(void)load 和+(void)initialize 方法的理解Object
- href 和 src 的區別
- TypeScript void 型別TypeScript型別
- 24·iOS 面試題·+(void)load; +(void)initialize; 有什麼用處?iOS面試題
- jquery設定href屬性值jQuery
- private void infoStatistics (SessionFactory sessionFactory) ;Session
- typedef void (*Fun) (void) 的理解——函式指標——typedef函式指標函式指標
- JavaScript 個位數前面加0JavaScript
- <a>為空使用href屬性值填充
- 淺談src與href的區別
- public void setModerationMinThreadValue(int value)thread
- int存放到void指標指標
- 關於C/C++ void指標,使用void指標拷貝int 陣列C++指標陣列