2012-01-31 92 views
11

點擊錨鏈接時是否有避免跳轉的方法?這樣視圖不會改變。如何在點擊錨鏈接時停止跳轉?

+0

您能告訴我們一個「跳躍」代碼的例子嗎? – 2012-01-31 11:36:22

+0

如果你不希望視圖改變,爲什麼有一個錨鏈接?請清除此。 – 2012-01-31 12:18:52

回答

0

你可以使用JavaScript來阻止鏈接的默認行爲,一個簡單的例子是:

<a href="#myanchor" onclick="return false;">link</a> 
+0

當我使用你的代碼段時,ID爲div的位置不會改變 – Tomkay 2012-01-31 11:45:49

+0

我標記了這一點cos內聯js是一場噩夢 - 在我看來 – matpol 2013-11-11 16:41:30

+0

顯然它做停止跳躍的工作,但也阻止事件發生 – 2016-08-10 23:39:38

14

只需使用:

<a href="javascript:void(0);">Text</a> 
+1

我這標記下來這是:http://stackoverflow.com/questions/2321469/when-do-i-need-to-specify-the-javascript-protocol – matpol 2013-11-11 16:40:45

+0

event.preventDefault();是一個更好的選擇 – 2014-12-02 10:09:01

+0

不錯...謝謝 – mostafaznv 2015-11-29 16:58:26

17

最語義和有意義的方式解決這個問題將是處理來自JavaScript內的onclick事件。理想情況下,該文件最好存儲在一個單獨的文件中,但是,在問題文件中包含一個內嵌腳本就足夠了。如果你已經在使用像jQuery這樣的JavaScript庫,那麼我建議如何解決這個問題。

分配一個ID
包括ID屬性來你的錨所以它能夠使用jQuery選擇:

<a href="#anchor" id="mylink" title="Title Here">Link Text</a> 

綁定click事件
從你的JavaScript文件/流水線內腳本包括以下內容:

$('#mylink').click(function(event) { 

    // This will prevent the default action of the anchor 
    event.preventDefault(); 

    // Failing the above, you could use this, however the above is recommended 
    return false; 

}); 

以上所述的方法是EXPL充分使用jQuery API網站:http://api.jquery.com/event.preventDefault/

+2

有時你想禁用跳轉和執行所有其他默認行爲,如追加#anchor到沒有頁面重新加載的位置。 event.preventDefault()本身不起作用。 – Nicholas 2017-06-16 09:58:12