为什么我的jQuery函数总是在条件中执行?

时间:2012-05-04 11:18:30

标签: jquery function conditional-statements

我打算在条件语句中执行我的函数。如果该语句为真,则应执行该函数,反之亦然。

以下是代码:

$(document).ready(function(){
  $.fn.validateName = function(){
    return true;
  }

  $('input[name=name]').blur(function(){
    var a = $(this).val();
    if (a.length == 0)
    {
       $('#alert_name').fadeIn();
    }
    else 
    {
       $('#alert_name').hide();
       $(this).validateName();
    }     
  })
})

validateName函数仅返回true值,因此当输入值大于0时,它应该返回'true'值。但在我的情况下,无论条件是什么,函数总是被执行并返回'true'值。

请告诉我问题出在哪里。谢谢。

1 个答案:

答案 0 :(得分:2)

您没有从模糊功能中返回任何内容。

$(document).ready(function() {
    $.fn.validateName = function() {
        return true;
    }

    $('input[name=name]').blur(function() {
        var a = $(this).val();
        if (a.length === 0) {
            $('#alert_name').fadeIn();
            return false;
        }
        else {
            $('#alert_name').hide();
            return $(this).validateName();
        }
    })
})​