javascript - 为何我给a标签加了event.preventDefault();,页面还是跳转了?
伊谢尔伦
伊谢尔伦 2017-04-11 10:09:18
[JavaScript讨论组]

$('li.switcher-li a').click(function(event){

event.preventDefault();
$status = $(this).parents(".wd-table").find(".wd-status");
if($status.hasClass('wd-status-enable')){
    $status.removeClass('wd-status-enable').addClass('wd-status-disable');
}
else{
    $status.removeClass('wd-status-disable').addClass('wd-status-enable');
}

});

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(4)
高洛峰

阻止链接跳转,一般两种方式

  • return false;之后的所有触发事件和动作都不会被执行.

  • 传参调用js事件阻止, e.preventDefault();

这两个方式,在大多数情况下都能阻止链接的跳转;也可以正常正常运行

天蓬老师

函数最后return false; 试一下

大家讲道理
<!DOCTYPE html>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript" src="script/jquery_2_1_3/jquery-2.1.3.min.js"></script>
    <script>
        $(function(){
            $('li.switcher-li a').click(function(event){
                event.preventDefault();
                console.log("preventDefault");
            });
        });
    </script>
</head>
<body>
<ul>
    <li class="switcher-li"><a href="http://www.sina.com.cn">www.sina.com.cn </a></li>
    <li class="switcher-li"><a  href="http://www.baidu.com">www.baidu.com </a></li>
    <li class="switcher-li"><a  href="http://www.yhd.com">www.yhd.com </a></li>

</ul>

</body>
</html>

以上代码没有问题的~~~
看下浏览器控制台有没有错误信息提示

ringa_lee

我知道原因了,按钮所在区域的html是Ajax请求之后发过来的。按钮注册的函数是写在全局部分的,后来我把注册事件函数写在ajax请求部分,居然可以了,但是我是不太明白这是为什么?

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号