我需要获取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);