0

我一直这样做是为了在每次创建元素时创建一个处理程序(当然,rh 每次都不同):

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

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

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

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

4

1 回答 1

4

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

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

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

阅读更多关于.on()

还有一个选项叫做.delegate()

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

我会去.on()

于 2012-06-02T08:13:03.000 回答