<a href="http://stackoverflow.com/" class="link" id="4" >stackoverflow</a>
<script>
$('.link').click(function(){
var idx = $(this).attr('id');
visit(idx);
})
</script>
我想让一个函数在浏览器打开前运行。
函数visit()已经定义,没有错误。
由于某些原因,visit(idx)被忽略了。
谁能给我点提示吗?你必须阻止点击链接的默认行为:
$('.link').click(function(e){
e.preventDefault();
var idx = this.id;
visit(idx);
})
现在取决于visit()
函数正在做什么,你可以在它完成后(我猜它是异步方法),重定向浏览器到特定的链接,因为它会做点击前链接。
例如,在点击处理程序中,假设visit()
返回一个承诺(ajax请求):
visit(idx).always(function(){this.click();}.bind(this));
或使用window.location = this.href;
但要获得更具体的帮助,您需要发布visit()
方法代码本身