超链接点击后如何防止重定向?

问题描述 投票:5回答:5

我有以下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代码func执行但#不添加到URL,页面不应该重新加载?

javascript html hyperlink onclick href
5个回答
6
投票

使用javascript:void(0);而不是#如下:

<a href="javascript:void(0);" id=key onclick="func(0)">foo</a>

4
投票

您只需删除href属性:

<a id='key' onclick="func(0)">foo</a>

4
投票

将其更改为:

                            vvvvvvv
<a href="#" id=key onclick="return func(0)">foo</a>

0
投票

我想你忘了“钥匙”中的引号

<a href="#" id="key" onclick="func(0)">foo</a>


0
投票

为了更加语义正确,我将使用带有以下onclick的按钮:

<button id=key onclick="return func(0)">foo</button>

这样就没有必要乱砍e.preventDefault / return false。

© www.soinside.com 2019 - 2024. All rights reserved.