按钮onClick事件和Href-Location

时间:2012-04-21 09:05:26

标签: javascript jquery location-href

我使用了本讨论中提到的“Chrules”给出的解决方案:buttons with no href, onclick etc

像这样:

<button id="clickable" >Click Me!!</button>
 ......
$("#clickable").click(function(){
 // Send user to this link
   insertRecord(); //SQLite Code
  location.href = "game.html";
   // location.href = "http://www.takemehere.com"; });

所以当我使用location.href时就像他推了它一样(=“http://www.takemehere.com”;)insertRecord()方法成功完成(对象被添加到数据库中)

但是当我使用location.href =“game.html”时; game.html页面打开但是insertRecord()方法没有完成我试图把game.html的完整路径,但同样的问题仍然存在你有什么想法吗?提前谢谢你

1 个答案:

答案 0 :(得分:2)

我认为insertMethod()会调用一些异步函数来进行数据库更新。所以你应该在做其他任何事情之前使用回调。

像这样(我不知道insertRecord方法里面是什么);

function insertRecord(callback) {
  // do all sorts of database job
  // when it's finished
  // fire your callback
  callback();
}

insertRecord(function() {
  location.href = "page.html";
});

编辑:发表评论后,我发现你已经定义了一个在loadAndReset()的sql之后运行的函数。所以只需将location.href = "page.html"放在该函数中,它就可以工作。