首页 > 如果阻止href不为空的a标签跳转,同时发送请求?

如果阻止href不为空的a标签跳转,同时发送请求?

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


楼上的回答已经可以阻止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


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


//原生的委托的,思路同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


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


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


el.addEventListener(function(e) {
    // 取消事件的默认动作
    e.preventDefault();
    // 你的业务逻辑
    // ...
}, false);
【热门文章】
【热门文章】