обновление JS-скрипта с 1.4.3 до 1.9.1

0

У меня есть JS-скрипт, который использует jquery 1.4.3 для динамического создания и удаления текстовых элементов ввода. Мне нужно начать использовать 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;
      });
     });
Теги:

1 ответ

1
Лучший ответ

Вы должны немного изменить код, например:

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

вместо

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

Подобно этому, в любое время #remScnt в dom, обработчик кликов будет привязан к элементу.

Кроме того, вы должны использовать class вместо id если на странице будет больше одного элемента remScnt, id должен быть уникальным.

скрипка здесь: http://jsfiddle.net/tZPg4/7313/

Ещё вопросы

Сообщество Overcoder
Наверх
Меню