потерять поведение jQuery после первого запуска функции - PullRequest
1 голос
/ 15 января 2012

У меня есть таблица с несколькими строками и входами внутри них. Я хочу добавить новую строку с ее полем всякий раз, когда пользователь нажимает клавишу + внутри текстового поля. Я мог бы это сделать, но проблема у меня в том, что эта функция запускается только в первый раз. Если я нажму клавишу + во втором поле, ничего не произойдет.

Это мой код в jsFiddle .

$(document).ready(function(){
    $(".data").bind('keyup',function(e){
        if(e.which == 107){
            var id = $(this).attr('id');
            var content = $('#'+id).val();
            var newContent = content.replace('+','');
            $('#'+id).val(newContent);

            var current_rows = ($('#myTable tr').length);
            current_rows = parseInt(current_rows);
            var newId = current_rows + 1;

            var newRow = '<td><input type="text" class="data" id="'+newId+'" /></td>';
            $('#myTable tr:last').after(newRow);
            $('#'+newId).focus();
        }
    });
    $('#1').focus();
});

Что мне делать?

1 Ответ

2 голосов
/ 15 января 2012

Попробуйте использовать live вместо bind. Но посмотрите в документации, я думаю, что вживую сейчас устарела.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...