Phonegap, jquery: function for <a>


<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()方法代码本身

相关内容

  • 没有找到相关文章

最新更新