阻止a标签点击跳转刷新

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阻止a标签点击跳转刷新相关的知识,希望对你有一定的参考价值。


这是一个所有做前端都会遇到的问题;

布局是这样的,有一个宽高100px背景为红的div,默认是display:none 隐藏状态;

给两个a标签绑定的同一个click事件,改变div的display为block;让其显示;

但是第一个a标签点击后div刚出现立马就没有了;第二个a标签点击后div会正常显示;


初遇到这个问题的时候,马虎点的童鞋可能要迷茫很久都找不到原因,而细心点就会发现是a标签点击后页面刷新了,所以闪过;

一部分童鞋始终不知道怎么阻止a标签跳转,于是就换用其他标签,避免给a标签添加click事件;

但是呢,总还有一部分喜欢钻研的童鞋,如果你正好看到这,恭喜你,下面就是来带你脱离苦海的;

其实很简单;就是给a标签的href写空事件javascript:;

<a href="javascript:;" onclick="test()">点我会正常显示</a>

完整代码如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>阻止a标签点击跳转</title>
<style type="text/css">
.box{
    width: 100px;
    height: 100px;
    background: red;
    display: none;
}
</style>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script type="text/javascript">
function test(){
    $(‘.box‘).css(‘display‘, ‘block‘);;
}
</script>
</head>
<body>
<a href="" onclick="test()">点我会一闪而过</a>
<br>
<br>
<a href="javascript:;" onclick="test()">点我会正常显示</a>
<div></div>
</body>
</html>

需要注意的是别打成中文和全角状态下的 冒号和分号;

技术分享


以上是关于阻止a标签点击跳转刷新的主要内容,如果未能解决你的问题,请参考以下文章

点击a标签的子元素不跳转 ,阻止默认行为

a子元素中,其中一个绑定点击事件,点击其他子元素进行页面跳转。当点击这个子元素,怎么阻止a标签跳转。

阻止表单的默认提交事件

页面点击,不是a标签也会刷新原因

如何禁用a标签,是禁用事件,而不是啥阻止跳转之类的

js阻止a标签href跳转