我编写了以下代码,它运行时没有错误,但是在我按下按钮后,它会出错:未定义 tabClicked。
var MainView = Backbone.View.extend({
initialize: function() {
},
tabClicked: function(winID) {
alert("test");
}
});
var BottomPanel = MainView.extend( {
initialize: function() {
$("body").append($(this.el));
this.$el.attr("id", "bottomPanel").attr("top", "300px").attr("left", "50px");
this.$el.append($("<button>").click(this.func1));
},
func1: function() {
tabClicked(0);
}
});
$(document).ready(function() {
var mainView = new MainView();
var bottomPanel = new BottomPanel();
});
我制作了父窗口“MainView”的子窗口“BottomPanel”。我的意图是从 BottomPanel 对象调用 MainView 的方法。怎么做?
编辑 1:我在一行中更改了上面的代码:
this.$el.append($("<button>").click(this.tabClicked));
现在它可以工作了,但我需要保存上下文。现在单击按钮时此变量不指向 mainView 对象。