将几个输入绑定到OnKeyPress事件

时间:2011-03-25 11:31:42

标签: jquery events bind

我有几个输入,它们是动态创建的

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

我想将KeyPress事件附加到所有这些输入并传递输入的ID。怎么做?我曾尝试使用下面的代码来附加事件,但这不起作用。另外,我不知道如何将Input字段的ID传递给绑定事件。

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

            });  

4 个答案:

答案 0 :(得分:4)

试试这个:

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

您将在jsfiddle示例中看到动态添加的第二个元素是如何工作的。

JSFiddle Example

答案 1 :(得分:2)

$('.fileDescription').bind('keydown', function(e) {        
            alert($(this).attr('id'));
            });  

答案 2 :(得分:0)

您的代码非常适合我...

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

答案 3 :(得分:0)

在处理动态内容时使用live functionality

$(".fileDescription").live("keydown", function ()
{
   // ...
});