在AJAX呼叫之后,下一个AJAX呼叫不起作用

问题描述:

我有一个带有2个选项卡的网页和一个更新的<div id="content">区域。当你点击一个标签时,jquery会执行一个AJAX调用,从数据库中检索相关数据并将其插入到<div id="content">中。内容使用jquery生成,主要使用$("#content").append('whatever...')。这工作正常。在AJAX呼叫之后,下一个AJAX呼叫不起作用

问题是,当我尝试点击从原来的jquery调用创建的按钮。它不起作用。我假设这是因为我的jquery脚本是在这个html代码生成之前加载的,对吗?

所以,我的问题是,如何让我生成的内容与我的jQuery脚本一起工作?

我猜有可能对我来说,创建2周的div: ,然后使用jQuery来隐藏/显示相关股利。这是一个可能的解决方案还是有更标准的方法?

额外的信息:

  • WordPress站点
  • $wpdb用于数据库的交互
  • 使用wp_enqueue_script()入队我jQuery脚本

谢谢:)

+0

生成的代码也应包含其中应事件绑定到所述动态地生成的内容 – linktoahref

+2

您可以为新创建的元素重新结合(解除绑定/绑定)动作或看到代码活动代表团 –

+0

我将详细了解活动委派。这似乎是我正在寻找的。在将其标记为已解决之前,我将保留其他答案。谢谢。 – liverpaul

$(staticParent).on('click', dynamicChild, function() {}); 

所以

$("#bar").on('click', function(){ 
    $("#foo").append("<input type='button' />"); 
}); 
$("#foo").on('click','input', function(){ 
    alert('Hello World'); 
}); 

<p id="bar">Klik Me!!</p> 
<div id="foo"></div> 

https://jsfiddle.net/adgx7e35/