關於javascript:void(0);,herf=”#”以及在IE6下,click事件失效的問題

來源:互聯網
上載者:User

經常看到一些網頁中,超連結標籤中<a href=”#”> herf中的“#”改成javascript:void(0);因為#包含了一個位置資訊,預設的錨點是#top 也就是網頁的上端.而javascript:void(0)  僅僅表示一個死連結
這就是為什麼有的時候頁面很長瀏覽連結明明是#可是跳動到了頁首,而javascript:void(0) 則不是如此.

一般採用ajax技術,才有這種形式,而我們的項目只是加了個click事件,處理一些驗證邏輯,之後跳轉。。。問題出來了,在IE6下面,click事件失效。。。

網上搜到這麼個解釋:

這裡的href=”javascript:;或javascript:void(0或null);” 本身的意思就是執行空的事件。而響應順序是從onclick開始,然後再進入href。這裡的問題就是執行了onclick連結事件後又執行href的空響應。所以導致失效。
解決辦法就是在onclick中最後加上return false;就搞定了(意思就是不執行後面的href中的事件)。至於為什麼其它瀏覽器中不加也可以的問題,那就可以說明“其它瀏覽器中後面預設的就是跟上return false;而IE6是return true;”注意這個結論還有待驗證

return false,這個不行。。。

還有種解決方案,用###。。。

好了問題解決了。。

但回過頭來,有這麼複雜嗎。為什麼要用<a>標籤,用個<span>問題不就解決了嗎。。。

有時候,要從多個角度,思考問題。。偶爾跳出來,看問題,往往有新的思路……

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.