var search = {
form: $('search-form'),
input: this.form.find('.search-input'), // 'this' undefined
callback: function(){
console.log(this.form) // 'this' not undefined
}
}
请帮帮我!
对不起,我的英语不太好,但我会尝试解释我的问题。
我无法在当前对象的形式中选择输入元素,因为this.form
未定义。为什么它未定义?
此代码有什么问题?
input: this.form.find('.search-input')
我怎么能纠正上面的代码?
答案 0 :(得分:1)
您可以将input
属性更改为函数:
var search = {
form: $('search-form'),
input: function() {
return this.form.find('.search-input')
},
callback: function(){
console.log(this.form) // 'this' not undefined
}
}
然后使用search.input()
进行调用以获得结果。
答案 1 :(得分:0)
LIKE
- 让它发挥作用的唯一方法。定义值时,对象尚未存在,因此您无法引用它。您可以先尝试定义对象,然后添加$('search-form').find('.search-input')