我使用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()
,而是无济于事。
答案 0 :(得分:2)
最好的办法是使用.on()
绑定到静态元素并冒泡到动态创建的元素。
$(document).on('keypress', '.arindic', function(event)
{
// do lots of stuff
});
使用要绑定的文件不是一件好事,我将其更改为.arindic
包含在其中的最高级元素是静态的,并允许此事件从那里冒出来。