【发布时间】:2014-09-03 21:41:43
【问题描述】:
为了提高可维护性,我尝试将在脚本中动态生成的 HTML 替换为 AJAX 查询结果。但是将事件处理程序绑定到动态内容存在相当少见的问题,尽管有很多解决方案,其中大部分只是部分起作用。我的意思是,如果我写了
$("#m" + event.PeerId).live("hover", function (args) {
debugger;
}
它可以工作,但是
$("#m" + event.PeerId + " sendMessage").live("click", function (args) {
debugger;
}
不起作用,如果我单击,事件不会发生。我也可以跟踪根下载元素的悬停事件,但我无法跟踪加载、就绪等 - 它们也永远不会发生。
请告诉我如何处理作为加载内容的某些子元素的按钮点击。
【问题讨论】:
-
试试 $("#m" + event.PeerId").find("sendMessage").on("click");
-
@Vaibhav Katole:它是动态加载的内容,因此在运行此代码时将不存在。它需要一个委托的事件处理程序。
-
如果下面的代码不起作用,我需要查看您的 HTML 示例(或其余相关代码)
标签: javascript jquery html asp.net ajax