3

我想运行一个 jquery 代码,如果数字值文本输入低于7,则结果为 false。但我收到以下错误:

 Uncaught TypeError: Object .NumCon has no method 'apply'
     f.event.dispatch
     f.event.add.h.handle.i

我该怎么办?

演示:http: //jsfiddle.net/FZMsP/

这是我的代码:

<form>
    <input type="password" name="user_pass" class="NumCon" id="7">
</form>

​
function NumCon() {
    var result = true;
    $(this).closest("form").find('.NumCon').each(function () {
        var size = this.value.length;
        var NumVal = $(this).attr('id');
        if (size <= NumVal) {
            $(this).css("background", "#ffc4c4");
            result = false;
        }else{
            $(this).css("background-color", "#ffffec");
        }
    });
}

$('.NumCon').live('keyup', NumCon());​
4

3 回答 3

5

您正在从定义行内部调用您的函数,该定义行(由于某种原因)然后被解释为一个对象。

$('.NumCon').on('keyup', NumCon);​

解决你的问题。

于 2012-07-21T07:28:20.300 回答
0

.live 现在已经被贬值了,看来你现在应该使用: $(document).on("click", "a.offsite", function(){ alert("Goodbye!"); });

jQuery.live

于 2013-02-18T16:39:31.867 回答
0

​解决方案是

$('.NumCon').on('keyup', yourFunction(yourParameters));

来源http://api.jquery.com/on/

于 2013-05-22T19:27:41.373 回答