当我想阻止使用
的锚标记的默认行为时<a href="javascript:void(0);">link</a>
哪种解决方案最有效?
答案 0 :(得分:26)
这是一个很好的方法,如果你正在使用jquery,你也可以这样做:
<a id="link" href="javascript:void(0)">link</a>
<script type="text/javascript">
$("#link").click(function(ev) {
ev.preventDefault();
});
</script>
preventDefault也可用于阻止提交表单
答案 1 :(得分:26)
优雅降级解决方案的一个例子:
<a href="no-script.html" id="myLink">link</a>
<script>
document.getElementById("myLink").onclick = function() {
// do things, and then
return false;
};
</script>
答案 2 :(得分:12)
你也可以这样:
<a href="#" onclick="return false;">link</a>
答案 3 :(得分:9)
如果您从不希望浏览器在任何地方关注该链接,我会说您所拥有的是最简单,最安全的解决方案。
当然,有很多其他解决方案可以应用于javascript,但大多数其他方式可能会失败
return false;
或preventDefault
,并且浏览器将遵循该链接,如果仅#
。答案 4 :(得分:2)
这是阻止这种情况的非常简单的方法。
( function( $ ) {
$( 'a[href="#"]' ).click( function(e) {
e.preventDefault();
} );
} )( jQuery );
答案 5 :(得分:2)
我知道这是一个旧线程,但这是我经常使用的
<a href="javascript:void(0);">link</a>
<a href="javascript:;">link</a>
答案 6 :(得分:1)
我仍然认为使用javascript:void(0)
是处理某些使用角度的锚标签行为的最佳方法,但是如果有更好的方法来处理角度的问题,我想在这件事上动脑筋。