要用 href="#" 或是 javascript:void(0)

發表於 2009-11-21 10:24:47| 分類: 網站開發

在AJAX盛行的時代,傳統的HTML anchor(連結)語法中,瀏覽新網頁的功能已經逐漸被攔截onclick的事件函數給取代。往往我們想要讓用戶點擊一個連結,或隱藏在圖片背後的連結,觸發一個javascript函數,此時,anchor的語法該寫成:(1) <a href="#" onclick="alert('hi');return false;"> 這樣,或是 (2) <a href="javascript:void(0)" onclick="alert('hi')">好呢?

事實上,兩者並沒有一定的答案,只是喜好問題。但根據 這篇討論二者優劣 的文章中各方意見,第一種方式可適用於瀏覽器關閉Javascript的情況,較之第二種方式來得通用。

無論如何,重點是要記得在onclick事件指定函數後方,加上 "return false;" 這樣的敘述,以確保這個點擊連結的事件不會繼續被觸發至網頁其他物件。

在Rails的 ActionView::Helpers::JavaScriptHelper 當中有個 link_to_function,使用後產生出來的HTML語法屬於第一種語法,由此可以佐證第一種方法應該更被技術人員接受。


發表回應

名稱:
電郵:
網站:
意見:
為防止廣告留言,請回答下面簡單的數學問題:
五加六等於