我有以下html+ js代码:
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
</head>
<body>
<a href="#" id=key onclick="func(0)">foo</a>
</body>
<script type="text/javascript">
function func(k){
alert(1);
return false;
}
</script>
</html>
你能解释一下如何重构下面的代码,在点击href code func
后执行,但#不添加到URL中,页面不应该被重新加载吗?
7条答案
按热度按时间g52tjvyc1#
使用
javascript:void(0);
代替#
,如下所示:a8jjtwal2#
您只需删除href属性即可:
blpfk2vs3#
将其更改为:
46scxncf4#
我想你忘了“钥匙”里的引号
<a href="#" id="key" onclick="func(0)">foo</a>
0sgqnhkj5#
为了 在 语义 上 更加 准确 , 我 将 使用 一 个 带有 以下 onclick 的 按钮 :
中 的 每 一 个
这样 就 不 需要 用 e . preventDefault/return false 来 破解 了 。
gkl3eglg6#
在函数内部,您可以执行以下操作:
preventDefault将阻止重定向,在该行之后,您可以添加任何所需的逻辑。
但是,如果不需要重定向,建议使用
button
而不是a
ibrsph3r7#
如果我们想停止重定向。我们必须返回false。所以我们可以这样做:HTML格式:
脚本: