嗨我有一个关于访问父函数中的变量的问题
var DateRangePicker = function (name, clickFunction) {
this.context = name;
this.UpdateGraph = clickFunction;
this.FinalDate = function () {
var Dates = $(this.context).find("[name=datepickerText]").val().split('-');
return Dates[1];
};
this.InitialDate = function () {
var Dates = $(this.context).find("[name=datepickerText]").val().split('- ');
return Dates[0];
};
$(this.context).find("[name=UpdateDatepicker]").click(function () {
var pickerText = $(InnerContext).find('[name=datepickerText]');
var dates = pickerText.val().split('-');
UpdateGraph(InitialDate(), FinalDate());
$(context).find("[name=Toogler]").click();
});
return this;
}
如何在updateDatepicker点击内访问“this.UpdateGraph()”函数到目前为止,它表明UpdateGraph和this.UpdateGraph不存在
答案 0 :(得分:1)
您可以将this
上下文绑定到处理函数,以避免使用额外的范围变量:
$(this.context).find("[name=UpdateDatepicker]").click(function () {
var pickerText = $(this.InnerContext).find('[name=datepickerText]');
var dates = pickerText.val().split('-');
this.UpdateGraph(this.InitialDate(), this.FinalDate());
$(this.context).find("[name=Toogler]").click();
}.bind(this));