1

我创建了一个 validateName 函数,它在我调用时起作用name.validateName();名字叫什么var name = $("#name");

我需要如何将它与 focusout 事件绑定在一起?如果输入字段是焦点输出,我希望执行该函数。

我试过了 :

$(name).on('focusout', function(){
$(this).validateName();
)};

不工作..

4

3 回答 3

1

$(name) 在您的情况下将导致 $($('#name')) :

$(name).on('focusout', function(){
  validateName($(this).val());
)};

应该是这样的

name.on('focusout', function(){
  validateName($(this).val());
)};
于 2013-09-12T03:17:29.067 回答
0

对我来说这似乎是一个上下文问题

据我所知validateName,包装对象和事件处理程序内部的函数this指向 dom 元素而不是外部对象。

var self = this;
$(name).on('focusout', function(){
    self.validateName();
)};
于 2013-09-12T03:19:31.833 回答
0

你有没有尝试过这样的事情?

 var name = $("#name");

function validateName(item) {
//do your validation here.
}

name.focusout(function() {
    validateName(name);
});

希望有帮助。

于 2013-09-12T03:52:30.990 回答