我有两页以单页模板方式编写。
Login.html 有<script src="login.js" />
他的<head></head>
,这就像:
$(document).on("pageinit", "#loginPage", function(){
$("#loginBtn").on("tap", function(){
// if you are already authenticate or login success...
$.mobile.changePage("Main.html");
});
});
Main.html<script src="main.js" />
在他的文件<div data-role="page" id="main"></div>
中,就像:
$(document).on("pageinit", "#main", function(){
//if not authenticated go to login
$.mobile.changePage("Login.html");
callJsonService();
$("#btnLogout").on("tap", function(){
//do logout operatio and go back to login
$.mobile.changePage("Login.html");
}).on("vmousedown", function(){
$(this).addClass("tapped");
}).on("vmouseup", function(){
$(this).removeClass("tapped");
});
如果您来回导航这 2 个页面,则每次访问该页面时,绑定的事件都会on()
触发两次,然后是 3 次,然后是 4 次等等。
为什么会这样?是因为“pageinit”事件吗?或者将 main.js 放在带有 data-role=page 的 div 中是不正确的?