首页 > 解决方案 > jquery 无法处理 ajax 加载的内容

问题描述

我通过 ajax 从另一个文件加载了多个复选框,类为 'chk-bx'

<script>

$('.chk-bx').on( "click", function(){

   alert("checked");
   });

</script> 

在加载 ajax 之前,有一些复选框可以正常工作。但加载后它不起作用。

非常感谢你

标签: javascriptjqueryhtmlajax

解决方案


事件处理程序在复选框到达 DOM 之前被初始化。您必须在新复选框出现在 DOM 中后初始化处理程序。

编辑:正如 Rory 所说,您可以使用委托事件处理程序。您可以将处理程序附加到复选框的共同父级,例如$( "#checkbox-container" ).on( "click", ".chk-bx", function() {...}). 这样,#checkbox-container元素中新添加的复选框将使该侦听器在单击事件上运行。您可以在此处阅读更多相关信息:https ://learn.jquery.com/events/event-delegation/


推荐阅读