2013-03-12 115 views
0

当它应该返回true或false时,isUpdatable方法返回undefined。 这是一个范围问题。当我在isUpdatable方法上进行登录时,我发现它输出true和false,但是keyup函数返回undefined。不返回布尔值的函数

$(function() { 
var updatableEl = ['home', 'block', 'cat']; 

inputFields.keyup(function(){ 
     var $input = $(this); 
     console.log("isUpdatable= ", isUpdatable($input)); 
    }); 

    function isUpdatable(el){ 
     $.each(updatableEl, function(intIndex, objValue){ 
      //console.log(" objValue = ", el.hasClass(objValue)); 
      return el.hasClass(objValue); 
     }); 
    } 

}); 

回答

0

$.each返回原始的jQuery对象(用于链接)。
它忽略其回调的返回值。

无论如何,你的代码没有意义。
您正在计算三种不同的布尔值;哪三个你想要返回?

0

找出可能有类似问题的人。

function isUpdatable(el){    
    for(var i=0; i< updatableEl.length; i++){ 
       if(el.hasClass(updatableEl[i])){ 
        return true; 
       } 
      } 
    }