jQuery - 类的事件处理程序,随后由AJAX创建元素

时间:2012-06-02 08:11:33

标签: javascript jquery class event-handling

我每次创建一个元素时都会创建一个处理程序(当然rh每次都不同):

$('#'+rh).on('click', function (e) {...

我想尝试为类rh创建一个处理程序,该处理程序将应用于该类中所有后续创建的元素。我试过这个,但它没有奏效:

$('.rh').on('click', function (e) {...

我做错了什么?我认为on具有追溯效果(并且api.jQuery.com网站已关闭)。

1 个答案:

答案 0 :(得分:4)

你应该参加一个活动代表团。当您动态创建它们时,您需要对它们进行事件委派(也称为实时事件)。

$('#container').on('click', '.rh', function (e) {...

此处#container是在页面加载时属于DOM的已创建元素的父级。你可能还有别的东西。

详细了解 .on()

还有一个名为.delegate()

的选项
$('#container').delegate('.rh', 'click', function (e) {...

我会去.on()