我创建了一个 validateName 函数,它在我调用时起作用name.validateName()
;名字叫什么var name = $("#name");
我需要如何将它与 focusout 事件绑定在一起?如果输入字段是焦点输出,我希望执行该函数。
我试过了 :
$(name).on('focusout', function(){
$(this).validateName();
)};
不工作..
我创建了一个 validateName 函数,它在我调用时起作用name.validateName()
;名字叫什么var name = $("#name");
我需要如何将它与 focusout 事件绑定在一起?如果输入字段是焦点输出,我希望执行该函数。
我试过了 :
$(name).on('focusout', function(){
$(this).validateName();
)};
不工作..
$(name) 在您的情况下将导致 $($('#name')) :
$(name).on('focusout', function(){
validateName($(this).val());
)};
应该是这样的
name.on('focusout', function(){
validateName($(this).val());
)};
对我来说这似乎是一个上下文问题
据我所知validateName
,包装对象和事件处理程序内部的函数this
指向 dom 元素而不是外部对象。
var self = this;
$(name).on('focusout', function(){
self.validateName();
)};
你有没有尝试过这样的事情?
var name = $("#name");
function validateName(item) {
//do your validation here.
}
name.focusout(function() {
validateName(name);
});
希望有帮助。