Javascript 带有单击事件的jQuery动态ajax数据

Javascript 带有单击事件的jQuery动态ajax数据,javascript,jquery,ajax,Javascript,Jquery,Ajax,嘿,我一直想弄明白为什么,当我用数据填充我的页面时,当我尝试做一个。单击复选框上的事件,它永远找不到它但是当我在页面上有代码而没有从ajax收集时,它就可以正常工作了吗 jQuery(document).ready(function () { jQuery('#selectAll').click(function () { console.log('hit'); }); }); <th scope="col" id="cb" class="manage-colu

嘿,我一直想弄明白为什么,当我用数据填充我的页面时,当我尝试做一个。单击复选框上的事件,它永远找不到它但是当我在页面上有代码而没有从ajax收集时,它就可以正常工作了吗

jQuery(document).ready(function () {
   jQuery('#selectAll').click(function () {
       console.log('hit');
   });
});

<th scope="col" id="cb" class="manage-column column-cb check-column">
    <input id="selectAll" type="checkbox">
</th>
jQuery(文档).ready(函数(){
jQuery('#selectAll')。单击(函数(){
console.log('hit');
});
});
如果复选框代码位于以开头的页面上,则上述代码可以正常工作,但如果通过ajax填充相同的代码,则上述代码不起作用

我会错误地做什么?

在委派事件上使用

jQuery(document).ready(function () {
  jQuery(document).on('click','#selectAll',function () {
     console.log('hit');
  });
});
如果元素是动态生成的,则需要委托事件。。。但是,建议将其委托给距离最近的staic父容器,而不是
文档本身,以获得更好的性能。。若要了解有关委派事件的更多信息,请使用“关于委派事件”

jQuery(document).ready(function () {
  jQuery(document).on('click','#selectAll',function () {
     console.log('hit');
  });
});
如果元素是动态生成的,则需要委托事件。。。但是,建议将其委托给距离最近的staic父容器,而不是
文档本身,以获得更好的性能。。阅读有关委派事件的更多信息