javascript - 如果阻止href不为空的a标签跳转,同时发送请求?
黄舟
黄舟 2017-04-10 17:02:27
[JavaScript讨论组]

我需要获取a标签中的sortId后面的数值,然后ajax请求中要用到这个数值;
如何阻止跳转,同时我需要通过点击或触碰事件获取到这个id并发送请求?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(7)
大家讲道理

楼上的回答已经可以阻止a标签的默认行为了。但是题主只是要一个id来获取数据。 可以使用 data-* 属性来嵌入自定义数据:

<a href="javascript:;" data-sortId ="9527"> 获取ID </a>

$('a').clcik(function(){
    var id = $(this).data('sortId');
    //你的请求代码
})    

知识补充 http://www.w3school.com.cn/tags/att_global_data.asp

迷茫

在加一个"onclick= return ooo()"属性,点击触发函数,在函数里对你的要求进行逻辑处理,最后从你的处理结果返回true或者false,返回false的话链接不会跳转

伊谢尔伦
el.addEventListener(function(e) {
    // 取消事件的默认动作
    e.preventDefault();
    // 你的业务逻辑
    // ...
}, false);
PHP中文网

那你为什么要把url写在href里呢?
写click把url传进去或者,在href里面写javascript:functionName()调用函数不是更好吗?

大家讲道理

1.正则判断并拦截
2.preventDefault
3.然后获取e.target.href
4.Ajax请求这个URL即可

PHP中文网
//原生的委托的,思路同others    
document.body.addEventListener('click',function(e){
        function recurse(el){
            if(el.localName == 'a'){
                if(el.href.match(/正则/) ){
                    e.preventDefault()
                    //do what you want
                }
            }
            if(el.parentNode){
                recurse(el.parentNode)
            }
        }
        recurse(e.target)
    })
巴扎黑

亲,我也遇到过这样的情况,看看我在博客记录是否对你有帮助http://www.van-y.com/120.html

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

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