後取消綁定事件我想,當我改變頁面取消綁定的所有事件。我把this solution與this.unbind()調用擴展視圖的關閉功能,我試圖把它與JQM頁面過渡在changePage功能的路由器從here結合:骨幹和jQuery Mobile的:一個頁面過渡
changePage: function(page){
$(page.el).attr("data-role", "page");
page.render();
$("body").append($(page.el));
var transition = $.mobile.defaultPageTransition;
if(this.firstPage){
transition = "none",
this.firstPage = false;
}
$.mobile.changePage($(page.el), {changeHash: false, transition: transition});
}
然後changePage看起來是這樣的:
changePage: function(page){
if (this.currentView)
this.currentView.close();
$(page.el).attr("data-role", "page");
this.currentView = page;
page.render();
$("body").append($(page.el));
var transition = $.mobile.defaultPageTransition;
if(this.firstPage){
transition = "none",
this.firstPage = false;
}
$.mobile.changePage($(page.el), {changeHash: false, transition: transition});
}
但後來我得到的JQM錯誤:
Uncaught TypeError: Cannot call method '_trigger' of undefined jquery.mobile-1.1.0.js:2788
transitionPages jquery.mobile-1.1.0.js:2788
$.mobile.changePage jquery.mobile-1.1.0.js:3390
window.AppRouter.Backbone.Router.extend.changePage
我也有JQM-config.js其刪除頁面的DOM上pagehide甚至噸。我可以解除所有事件:$(event.currentTarget).unbind();
?但是這也行不通。
$('div[data-role="page"]').live('pagehide', function (event, ui) {
$(event.currentTarget).remove();
});