Привязать несколько входов к событию OnKeyPress - PullRequest
1 голос
/ 25 марта 2011

У меня есть несколько входов, они создаются динамически

<input style="width:100%" class="fileDescription" type="text" name="' + descriptionId + '" id="' + descriptionId + '" placeholder="Write a file description, hit Enter to save" />

Я хотел бы присоединить событие KeyPress ко всем этим входам и передать идентификатор входа. Как это сделать? Я попытался использовать код ниже, чтобы прикрепить событие, но это не работает. Также я не знаю, как передать идентификатор поля ввода в связанное событие.

  $('.fileDescription').bind('keypress', function(e) {
            e.preventDefault();
            alert("Works!");

            });  

Ответы [ 4 ]

4 голосов
/ 25 марта 2011

Попробуйте это:

$('.fileDescription').live('keypress', function(e) {
    e.preventDefault();
    alert(this.id);
});

В примере jsfiddle вы увидите, как 2-й элемент, который был добавлен динамически, также работает.

Пример JSFiddle

2 голосов
/ 25 марта 2011
$('.fileDescription').bind('keydown', function(e) {        
            alert($(this).attr('id'));
            });  
0 голосов
/ 25 марта 2011

Используйте функциональность live при работе с динамическим контентом.

$(".fileDescription").live("keydown", function ()
{
   // ...
});
0 голосов
/ 25 марта 2011

Ваш код отлично работает для меня ...

http://jsfiddle.net/Jaybles/f6urc/

...