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

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

阅读 6.4k
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

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

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

新手上路,请多包涵

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)
    })
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题