jquery .on()只适用于较低版本的jquery?

时间:2016-07-25 04:49:54

标签: javascript jquery

我正在尝试通过单击按钮添加文本字段。 在Jquery 2.2及以下版本中我的代码工作正常,但是当我使用最新版本(3.1)并单击按钮添加字段时,没有任何反应。

这是我的JavaScript。

 $(function() {
    var newTextFieldDiv = $('#newTextField');
    var i = $('#newTextField p').size() +1;

    $(document).on('click', '#addField', function() {
        $('<p><input type="text" name="fileName[]' + i +'" id="fileName" size="50" /><a href="#" id="removeButton">remove</a></p>').appendTo(newTextFieldDiv);
        i++;
        return false;
    });

    $(document).on('click', '#removeButton', function() { 
        if( i > 2 ) {
            $(this).parents('p').remove();
            i--;
        }
        return false;
    });

});

请看这个fiddle来测试

感谢。

1 个答案:

答案 0 :(得分:3)

如果查看Web控制台,您将使用jQuery 3.x看到此错误:

  

未捕获的TypeError:$(...)。size不是函数

这是因为size()函数是deprecated in v1.8,并且完全在3.0中删除。使用.length(非函数属性)insead。应用该修复程序的Updated fiddle