我有一些jQuery函数:
rfx.jQuery(function(){
rfx.jQuery(".form-row.errors").blur(some_function(this))
});
但'this'是HTMLDocument,而不是选择器返回值列表。如何引用元素列表?
答案 0 :(得分:2)
选择本身的结果即rfx.jQuery(".form-row.errors")
将是返回元素的数组。
然而,在你的模糊事件......
rfx.jQuery(".form-row.errors").blur(function(){
//`this` is the element reference...
});
请在输入框之间查看此JS fiddle Example和标签。
如果没有:
,则无法从模糊中访问完整选择 a)在blur()
功能中再次选择...
rfx.jQuery(function(){
rfx.jQuery(".form-row.errors").blur(function(){
// `this` is the element which is blurring
var formRowErrors = rfx.jQuery(".form-row.errors") //select again within the blur function
});
});
b)使用闭包,例如......
rfx.jQuery(function(){
var formRowErrors = rfx.jQuery(".form-row.errors");
rfx.jQuery(".form-row.errors").blur(function(){
// `this` is the element which is blurring
// formRowErrors is the jQuery selection of all form-row.errors
});
});
但是,在第二种方法中,var formRowErrors
只会在您绑定时包含选择,即它不是“实时”
答案 1 :(得分:1)
您遇到了上下文问题。
rfx.jQuery(".form-row.errors").blur(function(){
some_function(this);
});
匿名函数的结果为rfx.jQuery(".form-row.errors")
this
,如果你这样做
rfx.jQuery(function(){
rfx.jQuery(".form-row.errors").blur(some_function(this))
});
这将是rfx.jQuery