1
我有一個視圖在路由器中呈現,但是在渲染後,沒有任何事件會觸發。以下是我的觀點:渲染視圖後不會觸發主幹事件
function(Global, util, user, userMenu) {
/*userMenu is the template*/
var UserMenuView = Backbone.View.extend({
initialize: function() {
this.template = _.template(userMenu);
},
render: function() {
var container = $(this.el);
container.empty().append(this.template());
return container;
},
events: {
"tap #about-user-menu" : "launchAbout",
"keydown #about-user-menu": function(e) { if (e.which === 13) this.launchAbout(e); },
"tap #help-user-menu" : "launchHelp",
"keydown #help-user-menu": function(e) { if (e.which === 13) this.launchHelp(e); },
"tap #resources-user-menu" : "launchResources",
"keydown #resources-user-menu": function(e) { if (e.which === 13) this.launchResources(e); },
},
launchAbout: function(e){
e.preventDefault();
alert("about");
},
launchHelp: function(e){
e.preventDefault();
alert("help");
},
launchResources: function(e){
e.preventDefault();
alert("resources");
}
});
return UserMenuView;
}
這是怎麼了渲染視圖路由器:
showUserMenu: function(){
var userMenu = new UserMenuView();
userMenu.render();
}
秀分配
HTML
到el
代碼你如何在父視圖中追加 – StateLess 2014-12-05 05:08:57
@ aktiv-coder抱歉, m實際上在路由器中渲染。我編輯了這個問題來證明這一點。我已經嘗試了你的答案,但它不起作用 – 2014-12-05 05:32:11
你永遠不會將視圖的「el」添加到頁面,也不會將「el」傳遞到視圖中。 – 2014-12-05 05:34:52