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

标签 javascript jquery class event-handling

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

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

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

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

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

最佳答案

您应该参加事件委托(delegate)。当您动态创建它们时,您需要对它们进行事件委托(delegate)(也称为实时事件)。

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

这里的#container是创建的元素的父元素,该元素在页面加载时属于DOM。你可能还有别的东西。

了解有关的更多信息 .on()

还有另一个选项称为 .delegate()

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

我会选择.on()

关于javascript - jQuery - 类上的事件处理程序,其中元素随后由 AJAX 创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10860813/

相关文章:

javascript - 将 Remotemessage 中的 JSONString Bundle 解析为 JSON 对象

javascript - 使用 Spring Security 在 HTML 中登录后重定向到主页

javascript - 网页中的 Excel 数据透视表

javascript - 将向下箭头 css 添加到半径按钮

c++ - 错误 : no ‘’ member function declared in class ''

java - 运行类时出现 NoClassDefFoundError

javascript - Html 5 Canvas 车速度

javascript - 我想从文本区域中选择特定文本并将其设置为粗体、斜体或在reactjs中创建超链接

javascript - 在 Phonegap 模拟器/iPhone 中解析 JSON 与通过浏览器解析 JSON

java - 为一个类生成多个 .class 文件?