当我想阻止我使用的锚标记的默认行为时
<a href="javascript:void(0);">link</a>
哪个是最有效的解决方案?
当我想阻止我使用的锚标记的默认行为时
<a href="javascript:void(0);">link</a>
哪个是最有效的解决方案?
优雅降级解决方案的示例:
<a href="no-script.html" id="myLink">link</a>
<script>
document.getElementById("myLink").onclick = function() {
// do things, and then
return false;
};
</script>
这是一个不错的方法,如果您使用 jquery,您还可以这样做:
<a id="link" href="javascript:void(0)">link</a>
<script type="text/javascript">
$("#link").click(function(ev) {
ev.preventDefault();
});
</script>
preventDefault 也可用于防止提交表单
你也可以有这个:
<a href="#" onclick="return false;">link</a>
如果您从不希望浏览器在任何地方跟随链接,我会说您拥有的是最简单、最安全的解决方案。
当然,您可以使用 javascript 应用许多其他解决方案,但大多数其他方法可能会失败
return false;
或preventDefault
将不会被执行,并且浏览器将跟随链接,如果只是到#
。这是阻止这种情况的非常简单的方法。
( function( $ ) {
$( 'a[href="#"]' ).click( function(e) {
e.preventDefault();
} );
} )( jQuery );