バックボーンとJQMを使用して、プロジェクト内にオーバーレイパネルを作成しようとしています。オーバーレイパネルは、JQMドキュメントで説明されている例のように機能する必要があります。
http://jquerymobile.com/demos/1.2.0/docs/pages/popup/popup-panels.html
バックボーンとJQMの最初のステップのチュートリアルに基づく私のプロジェクトでは、バックボーンルーティングを使用しています。changePage()への通常のルートはうまく機能しています。オーバーレイパネルを機能させることができません。
プロジェクト用にgitリポジトリを作成しました。ヘッダーの[メニュー]ボタンをクリックすると、上のデモのようにオーバーレイパネルがスライドします。
https://github.com/Devthias/BackboneJQM.git
ルーター内で、changePage関数を呼び出す前にdata-role属性をポップアップに設定しようとしました。
var AppRouter = Backbone.Router.extend({
routes:{
"":"home",
"settings":"settings",
"menuPanel":"menuPanel"
},
initialize:function () {
// Handle back button throughout the application
$('.back').live('click', function(event) {
window.history.back();
return false;
});
this.firstPage = true;
},
....
menuPanel:function(){
console.log('#menuPanel');
this.openPopup(new MenuPanelView());
},
changePage:function (page) {
$(page.el).attr('data-role', 'page');
page.render();
$('body').append($(page.el));
var transition = $.mobile.defaultPageTransition;
$.mobile.changePage($(page.el), {changeHash:false, transition: transition});
},
openPopup:function (page){
$(page.el).attr('data-role', 'popup');
page.render();
$('body').append($(page.el));
var transition = $.mobile.defaultPageTransition;
$.mobile.changePage($(page.el), {});
}
});
誰かが私が間違っていることを知っていて、私を助けることができますか?
どうもありがとうございます!