Q
防止錨行爲
26
A
回答
19
一個優雅有辱人格的解決方案的例子:
<a href="no-script.html" id="myLink">link</a>
<script>
document.getElementById("myLink").onclick = function() {
// do things, and then
return false;
};
</script>
10
你也可以有這樣的:
<a href="#" onclick="return false;">link</a>
23
這是一個很好的方法,如果你使用jQuery,你也可以這樣做:
<a id="link" href="javascript:void(0)">link</a>
<script type="text/javascript">
$("#link").click(function(ev) {
ev.preventDefault();
});
</script>
的preventDefault可能是有用的還可以防止提交表單
9
如果你不希望瀏覽器跟隨任何地方的鏈接,我會說你得到的是最簡單,最安全的解決方案。
當然,也有其他的解決方案的堆,你可以使用JavaScript的應用,但是當
- DOM是不完全加載,如果該事件被分配在domready中或更高版本,這是大多數其他方式可能會失敗,共同。
- 點擊事件偵聽器處理鏈接(這是常見的地方,你希望鏈接不被瀏覽器所遵循)。如果在處理點擊的javascript中發生錯誤,則可能在語句末尾的
return false;
或preventDefault
將不會執行,並且瀏覽器將跟隨該鏈接(如果僅限於#
)。
1
這是非常簡單的方法來阻止這一切。
(function($) {
$('a[href="#"]').click(function(e) {
e.preventDefault();
});
})(jQuery);
相關問題
- 1. 防止默認的錨定行爲AngularJS
- 2. 防止哈希工作錨
- 3. jQuery防止錨點擊
- 4. 防止頁面跳轉 - 哈希錨標記 - 默認行爲
- 5. 防止jQTouch中的默認錨定行爲?
- 6. 防止默認錨行爲IE7沒有庫/框架
- 7. 如何防止跳到錨定點擊?
- 8. jQuery的標籤防止滾動錨
- 9. 防止指定錨上的默認值
- 10. 防止瀏覽器跳轉到錨點
- 11. 如何防止滾動錨點
- 12. 防止刷新錨點標記點擊
- 13. 防止從錨定標記滾動
- 14. jQuery的標籤,如何防止錨跳
- 15. 防止將錨鏈接添加到URL
- 16. Mozilla停止父錨定標記行爲
- 17. 反應路由器4滾動恢復防止錨的天然行爲鏈接
- 18. 防止執行
- 19. 防止JavaScript執行
- 20. 防止從執行
- 21. 防止從執行
- 22. 哪裏防止默認行爲
- 23. 防止行家(默認爲跳過)
- 24. 防止默認行爲使用jquery
- 25. 的System.Window.Forms.ComboBox(C#)防止自選行爲
- 26. jQuery的的onclick防止defaut行爲
- 27. D3縮放行爲防止IE9
- 28. 防止窗口大小調整行爲
- 29. 防止斷行設置爲列
- 30. 爲FailedPasswordAttemptCount防止IsLockedOut
如果* do things *中出現錯誤,或者用戶在分配偵聽器之前單擊該鏈接,這也會使用戶進入無腳本頁面。如果你真的打算讓它們在DOM中緊跟在一起,那麼後者不太可能發生,就像在你的例子中那樣,但是這會抑制頁面渲染速度,並且破壞驗證(除非在HTML5規範中這被改變了?我不介意這是否是!)通常情況下,這些東西都是在DOMReady中最快分配的,這在某些情況下會爲用戶留下一個相當大的窗口來點擊鏈接。 – 2010-12-08 13:04:31