jqMobi と jqUI を使用するようにアプリを移植してきましたが、バックボーンの委任イベントで問題が発生しました。
jqUI がサイド ナビゲーション バーを作成する方法は、うーん...控えめに言っても興味深いものです。
各パネルには個別のナビゲーション バーを設定できますが、ナビゲーション バーが実際にユーザーに表示されることはありません。ナビゲーション バーに入力すると、jqUI が html をdiv#menu
要素にコピーします。
私の見解はかなり単純です
MyApp.Views.UserMenu = Backbone.View.extend({
el: 'nav#user_menu',
initialize: function(){
//empty out and unbind in-case it is already populated
$(this.el).empty().unbind();
this.render();
},
events: {
"click div#add_friend": "new_friend"
},
render: function(){
$(this.el).append(HandlebarsTemplates['friends/new_friend']());
// here I am trying to change the 'el' to point to where the menu is in the DOM
this.el = 'div#menu';
this.delegateEvents();
return this;
},
new_friend: function(){
alert('clicked');
}
});
el
にデータを入力したdiv#menu
後、 を に変更しようとしましたが、うまくいきませnav
ん。また、直接入力しようとしましたdiv#menu
が、それもうまくいかないようです。
助言がありますか?問題は要素が移動されていることだと思いますが、それは別のものである可能性があり、他のケースをデバッグする方法がわからない可能性があります。