我usualy發現下面的代碼高優先級:爲什麼HREF =「#」比的onclick
<a href="#" onclick="func();return false">click</a>
但有時我的瀏覽器訪問該頁面的頂部?
爲什麼href="#"
比onclick優先?
我usualy發現下面的代碼高優先級:爲什麼HREF =「#」比的onclick
<a href="#" onclick="func();return false">click</a>
但有時我的瀏覽器訪問該頁面的頂部?
爲什麼href="#"
比onclick優先?
它不是更高優先級。點擊觸發,然後瀏覽器跟隨鏈接。
如果您沒有return false
(注意拼寫)或func
引發錯誤(因此未達到return
語句),則該事件不會被取消。
(如回退的,如果JS失敗或被禁用去,然而,在頁面頂部的鏈接是真正蘇茨基。Progressive enhancement是前進的方向。)
如果你想的唯一理由,一個href
值是使手形光標,你可以使用CSS樣式改爲:
<a style="cursor:pointer;" onclick="func();return false">click</a>
所以鏈接應該真的是一個鏈接,除非JavaScript本身別的東西(例如,打開一個彈出,然後忽略鏈接)。如果它不是一個鏈接,你應該使用另一個更適合它的元素(例如跨度)。 – 2010-11-09 09:07:53
如果它打開一個彈出窗口(這不應該,因爲彈出窗口是一個可怕的用戶體驗),那麼它應該仍然是一個鏈接 - 事件應該取消默認操作。 – Quentin 2010-11-09 09:13:30