我是jQuery开发的新手。我正在创建一个页面应用程序。从一页导航到另一页时,我正在调用pageinit方法。当我在两个屏幕之间来回导航时,我看到页面初始化被多次调用。

$(document).on("pageinit", '#docPage', function(event) {
               home.doc.init();
               });


即使在导航时,我也调用取消绑定事件。

 $('#BackButton').on('tap', function(event) {
                       event.preventDefault();

                       $.mobile.changePage("homepage.html", {
                                           transition: "fade",
                                           reverse: false,
                                           changeHash: false
                                           });
                       teardown();
                       });
};

teardown(){

home.doc.unbindEvents();
}


任何人都可以指导我在单个Page应用程序中导航的最佳实践。提前致谢。

最佳答案

这可能是由于pageinit侦听器被分配了不止一次的原因-每次“导航”到另一个页面时,请确保没有重新添加该侦听器。

您的解除绑定无法按预期进行。尝试更改匿名函数$(document).on("pageinit", '#docPage', function(event) { home.doc.init(); })

到先前在代码中声明的命名函数。这可以提供一些见识。

关于javascript - jQuery Pageinit多次调用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32100510/

10-12 00:17