Mar*_*cus 4 backbone.js backbone-events backbone-views
我正在创建一个像这样的模态对话框
window.NewPageModalView = Backbone.View.extend({
template: _.template($('#view-template-new-page-dialog').html()),
el: $('div#main'),
events: {
'click input[type=radio]': 'newPage'
},
newPage: function (event) {
$(event.currentTarget).closest('form').submit();
},
initialize: function () { },
render: function () {
$(this.el).append(this.template());
return this;
}
});
Run Code Online (Sandbox Code Playgroud)
然后我在另一个这样的视图中创建它
addPage: function (event) {
event.preventDefault();
var modal = new NewPageModalView();
modal.render();
}
Run Code Online (Sandbox Code Playgroud)
这工作得很好但是如果我想关闭身体点击或按下转义时的对话框,最好的方法是什么?
一般来说,当您使用事件哈希绑定骨干中的事件时,它们会被委托给视图的el,但是您仍然可以将事件绑定到initialize方法中的其他内容(在您的情况下是正文).
initialize: function() {
$('body').bind('click', yourfunction);
}
Run Code Online (Sandbox Code Playgroud)
编辑:正如@muistooshort提到的那样,你需要确保也解除绑定事件.
| 归档时间: |
|
| 查看次数: |
4665 次 |
| 最近记录: |