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