我的focusout事件调用函数不起作用

时间:2013-09-12 03:14:23

标签: jquery

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

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

我试过了:

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

不工作..

3 个答案:

答案 0 :(得分:1)

在您的情况下,

$(name)将导致$($('#name')):

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

应该是这样的

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

答案 1 :(得分:0)

它看起来像是我的上下文问题

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

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

答案 2 :(得分:0)

你尝试过这样的事吗?

 var name = $("#name");

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

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

希望有所帮助。