jQueryMobileを使用してWebアプリを作成しています。アプリを使用してボタンをクリックすると、スクリプトが複数回実行されます。
例えば:
送信ボタンがあります:
<input type="submit" id="login-normal" value="Login" />
そして、私はこのエラーが発生するデバッグ用にこのJavaScriptを持っています:
$("input#login-normal").live('click',function() {
console.log("Test");
});
最初のクリックでは機能しますが(たとえば、別の画面に移動します)、その画面に戻ってもう一度クリックすると、複数のconsole.logsが出力されます。
- 編集
これは私の.jsファイルとまったく同じコードです。
$("div#login input#login-normal").live('click',function() {
var email = $("input#email").val();
var password = $("input#password").val();
user.checkUser(email, password, function(exists) {
if (exists) {
$.mobile.changePage("#home", { transition: "slidedown"});
} else {
console.log("Wrong email or password.");
}
});
console.log("Login");
});
user.checkUserは、ユーザーがデータベース(WebSQL)に存在するかどうかをチェックする私のクラスUserのオブジェクトです。コールバック時にtrueまたはfalseを返します。