将事件绑定到新添加的html内容AJAX Jquery

时间:2017-04-13 22:33:03

标签: jquery ajax events

我有一个管理大学的示例网络程序。在文档加载时,会调用ajax来请求学院数据。

添加新学院时也会调用请求。当插入mysql成功并完成时,再次调用大学数据的ajax调用。

$(document).on("click", ".ctrl-btn", function(e){
  if($(this).hasClass("college-edit-btn")) {
    $(".college-edit-btn").on("click", editCollegeProcess);
  }
});
//The editCollegeProcess() simply alerts the id of the parent.

代码可以工作,但我必须双击按钮才能在文档加载时触发该功能。在警报窗口处于活动状态时单击按钮时,它也会触发该事件。

我希望我能清楚地解释清楚,请帮忙。这太令人困惑了@@

3 个答案:

答案 0 :(得分:0)

在用户首先点击.ctrl-btn之前,您不会绑定$(document).on("click", ".college-edit-btn", editCollegeProcess); 处理程序。您应该将事件委托直接放在主代码中。

LoadModule rewrite_module libexec/apache2/mod_rewrite.so

答案 1 :(得分:0)

删除"click"内部绑定并在外面使用它:

$(document).on("click", ".college-edit-btn", editCollegeProcess);

答案 2 :(得分:0)

如果您必须有2个点击事件,则可以将它们链接起来:



$(document).on("click", ".ctrl-btn", function(e){
  e.stopPropagation();//if necessary 
}).on('click', 'college-edit-btn', editCollegeProcess{

});




假设有亲子关系。