我的骨干视图有一个事件Popout,当点击它时会创建一个新视图并在Kendo窗口中打开该视图。我想要的是当我点击按钮时,我在这个视图中的事件变得无法绑定,我可以在Kendo Window中使用我的新视图。 接下来,当我关闭Kendo Window时,我希望我的活动重新绑定。但是我得到了一个错误。
未捕获TypeError:对象[object Object]没有方法'delegateEvents' 如何在Kendo窗口的近距离功能上重新绑定我的事件?
popout: function(){
this.stopListening();
//this.delegateEvents();
this.undelegateEvents();
var model = this.model;
var popOutModuleView = new PopOutModuleView({model:model});
lightRegion.show(popOutModuleView);
Backbone.trigger("popout");
event.preventDefault();
var a = $('#lightbox').kendoWindow({
actions: ["Maximize", "Close"],
title: name,
width: "90%",
height: "90%",
resizable: true,
close: function(e){
popOutModuleView.remove();
lightRegion.close();
this.delegateEvents();
}
});
答案 0 :(得分:1)
“this”不引用Backbone.View,因此delegateEvents()是未知的。您必须将此绑定到close函数,或者在close函数的范围内使其可用。
popout: function() {
var _this = this;
// CODE
var a = $('#lightbox').kendoWindow({
// CODE
close: function() {
_this.delegateEvents();
}
});
}