我正在研究一个包含一些 YUI 对象的 Javascript 对象。关键是,我的对象需要包含它自己的一组 YUI 选项卡,以便我可以在同一页面上显示对象的多个实例,并让选项卡控制它们自己的对象实例。
我的设置如下:
var Scheduler = function(divid,startDate,mode){
this.tabView = null;
...
this.init = function(){
this.tabView.appendTo(this.calendar_cell);
this.tabView.addTab( new YAHOO.widget.Tab({
label: 'Day',
content:'<div id="'+ this.calendar_day_div +'" style="width:100%; height:auto;"></div>'
}));
var tab0 = this.tabView.getTab(0);
tab0.addListener('click', this.showWeek);
}
this.showWeek(){
alert(this);
}
});
问题就在这里。我期待警报(这个);在 this.showWeek 中提醒调度程序的实例。相反,它给了我选项卡 li。我尝试提醒 this.parent 并得到“未定义”作为答案。
我应该如何设置它来完成我需要做的事情?
最佳答案
addListenter方法采用范围参数。因此,您可以将调用更改为以下内容来解决您的问题(因为您使用的是 YUI):
tab0.addListener('click', this.showWeek, undefined, this);
关于javascript - 使用 YUI 和 Javascript 嵌套对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1381477/