我正在创建一个Backbone.View并让Backbone为我的视图创建并分配一个div元素。
然而,当我渲染视图时,据我所知,我必须告诉视图将div放在文档中的哪个位置。
我遇到的问题是我的事件似乎没有注册到视图div的一部分的按钮和表单。
以下是观点:
var UserProfileView = Backbone.View.extend({
events: {
'click #submit-user-profile-update-form-id': 'onClickSubmitForm'
},
initialize: function (opts) {
},
render: function () {
console.log('attempting to render userProfileView.');
var ret = 'To simplify the example, I removed some code that procured and populated a template';
$('#main-content-id').html(ret);
console.log('userProfileView (re)-rendered');
}
return this;
},
onClickSubmitForm: function (event) {
event.preventDefault();
console.log(event); // this doesn't get called
}
}
);
return UserProfileView;
正如我所描述的那样,如果视图的el与渲染的不同,那么确保事件正在侦听DOM中的正确元素的最佳方法是什么?换句话说,我渲染到渲染方法中由$('#main-content-id')
定义的el,但视图的el只是Backbone为我创建的一些div。