将 JS 脚本从 1.4.3 更新到 1.9.1

updating JS script from 1.4.3 to 1.9.1

本文关键字:更新 脚本 JS      更新时间:2023-09-26

>我有一个使用 jquery 1.4.3 动态创建和删除输入文本元素的 JS 脚本我需要开始使用 jquery 1.9.1

从我所看到的

       .live() 

函数需要更改为

      .on() 

但是只有一半的功能有效..删除功能不再有效,有人能看到为什么吗?

完整的源代码在下面的JSFIDDLE链接。

http://jsfiddle.net/jaredwilli/tZPg4/4/

    $(function() {
    var scntDiv = $('#p_scents');
    var i = $('#p_scents p').size() + 1;
    $('#addScnt').live('click', function() {
            $('<p><label for="p_scnts"><input type="text" id="p_scnt" size="20" name="p_scnt_' + i +'" value="" placeholder="Input Value" /></label> <a href="#" id="remScnt">Remove</a></p>').appendTo(scntDiv);
            i++;
            return false;
    });
    $('#remScnt').live('click', function() { 
            if( i > 2 ) {
                    $(this).parents('p').remove();
                    i--;
            }
            return false;
      });
     });

你必须稍微改变一下代码,像这样:

$(document).on('click','#remScnt', function () {
    ...
});

而不是

$('#remScnt').live('click', function () {
    ...
});

像这样,每当将#remScnt添加到 dom 时,单击处理程序都将绑定到元素。

此外,您应该使用 class 而不是 id 如果页面中有多个 remScnt 元素,则id应该是唯一的。

在这里摆弄:http://jsfiddle.net/tZPg4/7313/