创建后动态绑定某个类的元素

时间:2013-03-17 10:49:26

标签: jquery event-handling keypress dynamically-generated

我使用arindic中的课程document.ready()动态创建textareas。

然后在动态生成结束后,仍然在document.ready()例程中,我将这些元素与keypress事件绑定在一起,如下所示:

$('.arindic').bind('keypress', function(evt){
   // do lots of stuff
});

但它不起作用。我知道“做很多东西”的功能正常,因为在document.ready()的底部我有这个:

 $('.arindic').keypress(function(evt){ // do lots of stuff // });

这适用于页面上已经静态存在的textareas。我绑定动态元素的方式有问题吗?我还尝试.bind().on()而不是.live(),而是无济于事。

1 个答案:

答案 0 :(得分:2)

最好的办法是使用.on()绑定到静态元素并冒泡到动态创建的元素。

$(document).on('keypress', '.arindic', function(event)
{
    // do lots of stuff
});

使用要绑定的文件不是一件好事,我将其更改为.arindic包含在其中的最高级元素是静态的,并允许此事件从那里冒出来。