我正在使用 jQueryMobile 创建一个网络应用程序。当我使用该应用程序并单击一个按钮时,它会多次运行脚本。
例如:
我有一个提交按钮:
<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 是我的 User 类中的一个对象,它检查用户是否存在于数据库 (WebSQL) 中。在回调中返回 true 或 false。
最佳答案
你能用 on
而不是 live
试试吗
$("input#login-normal").off('click').on('click',function() {
//...
});
关于JavaScript - 点击后收到多个信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13021169/