在ajax请求之后新添加的按钮不会运行他应该

时间:2017-07-03 17:14:50

标签: javascript jquery ajax

即使按下按钮我也有jQuery:

$('button.btn').on('click', function(form)
页面加载后

示例Exising按钮:

<button id="5" class="yellow-button btn">Odpublicznij</button>

完美适用于课程btn

的所有按钮

但是在ajax请求后点击它会向html添加新按钮

content += '<button id="' + comments[i].id + '" class="green-button btn">Upublicznij</button>';

它添加了新的按钮,如:

<button id="11" class="yellow-button btn">Odpublicznij</button>

这个新按钮甚至不会运行$('button.btn').on('click', function(form)

我需要它来举办这个活动,而不仅仅是作为一个没有做任何事情的按钮

1 个答案:

答案 0 :(得分:2)

问题发生的原因是您刚刚附加的新元素没有附加到该处理的点击处理程序。要解决此问题,您需要更改选择器,如

$('body').on('click', 'button.btn', function(form) {
  //code goes here
});

我们在这里做的是Event Delegation