Кнопка onClick и событие Href-Location

Я использовал решение, данное "Chrules", найденное в этом обсуждении: кнопки без href, onclick и т. Д.

как это:

<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 ответ

Решение

Я думаю 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";
});

РЕДАКТИРОВАТЬ: После вашего комментария, я вижу, вы уже определили функцию для запуска после SQL, который loadAndReset(), Так проще говоря location.href = "page.html" в этой функции, и это должно работать.

Другие вопросы по тегам