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

jquery .on() only works on lower version of jquery?

本文关键字:jquery 版本 on 适用于      更新时间:2023-09-26

我正试图通过单击按钮添加文本字段。在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;
    });
});

请看这把小提琴来测试

谢谢。

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

未捕获的类型错误:$(…).size不是函数

这是因为size()函数在v1.8中被弃用,在3.0中被完全删除。使用.length(非函数属性)insead。更新了fiddle应用的修复程序。