我正在尝试用里面的选择器创建一个对象。第一个是我想在对象本身中使用的上下文选择器。如何在对象中引用此键?
var options = {
elements: {
"context": $('form#someForm'),
"someDropdown" : $("#someDropDown", this.context),
"someContainer" : $('div#someContainer', this.context),
},
constants: {
buttonImageLocation : 'image.jpg'
}
};
由于
答案 0 :(得分:1)
JavaScript为每个函数创建一个新范围,而不是为每个块创建。因此,在您的情况下this
引用窗口,因为窗口没有context
,所以它是未定义的。你可以这样做:
var options = {
element: new (function() {
this.context = $('form#someForm');
this.someDropdown = $("#someDropDown", this.context);
...
return this;
})()
}