0

isUpdatable 方法在应该返回 true 或 false 时返回 undefined。这是一个范围问题。当我对 isUpdatable 方法进行日志记录时,我看到它输出 true 和 false,但 keyup 函数返回未定义。

$( 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);
        });
    }

});
4

2 回答 2

0

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

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

于 2013-03-12T15:19:03.087 回答
0

为任何可能遇到类似问题的人想办法。

function isUpdatable( el ){            
    for( var i=0; i< updatableEl.length; i++){
                if(el.hasClass(updatableEl[i])){
                    return true;
                }
            }
    }
于 2013-03-12T15:30:53.307 回答