我是jQuery开发的新手。我正在创建一个单页应用程序。当从一个页面导航到另一个页面时,我调用了一个pageinit方法。当我在两个屏幕之间来回导航时,我看到页面init被多次调用。
$(document).on("pageinit", '#docPage', function(event) {
home.doc.init();
});甚至在向后导航时,我也会调用unbind event。
$('#BackButton').on('tap', function(event) {
event.preventDefault();
$.mobile.changePage("homepage.html", {
transition: "fade",
reverse: false,
changeHash: false
});
teardown();
});
};
teardown(){
home.doc.unbindEvents();
}有人能指导我在单页应用程序中导航的最佳实践吗?提前谢谢。
发布于 2015-08-20 00:21:30
这可能是因为pageinit listener被分配了不止一次-检查它是否没有在每次“导航”到不同的页面时被重新添加。
您的解除绑定无法按预期工作。尝试更改匿名函数$(document).on("pageinit", '#docPage', function(event) { home.doc.init(); })
添加到先前在代码中声明的命名函数。这可以提供一些洞察力。
https://stackoverflow.com/questions/32100510
复制相似问题