javascript - 如何使用 jQuery 将点击监听器附加到动态创建的子元素?

标签 javascript jquery

我知道有人问了类似的问题(比如 here )但是,作为一个 jQuery 菜鸟,我仍然无法将点击监听器附加到 li< 中的 a 元素 整个 ul.li.a 像这样动态附加到 DOM。

<div id="users-col">
  <!-- dynamically appended --> 
  <ul id="users-list">
       <li>
          <a class="user" id="Alice">Alice</a>
       </li>
       <li>
          <a class="user" id="Bob">Bob</a>
       </li>
  </ul>
   <!-- END dynamically appended --> 
</div>

这是我尝试过的一个(众多)jQuery 函数:

$('#users-col ul.li.a').on('click', '.user', (function () {
  console.log('user clicked:', this.id); 
});

我该如何解决这个问题?

最佳答案

您需要在可用的元素上绑定(bind)事件(不是动态添加的)

$('#users-col').on('click', 'a.user', (function () {
  console.log('user clicked:', this.id); 
});

供引用,jQuery.on

关于javascript - 如何使用 jQuery 将点击监听器附加到动态创建的子元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50713287/

相关文章:

javascript - 未捕获的类型错误 : $(. ..).lightGallery 不是函数

javascript - 铁路由器: Meteor JS

jquery - nivoslider ie8 jquery 错误,无法找到它

javascript - 创建 jQuery 插件时如何使用 ES6 模块?

jquery - 无法填充 jqPlot 条形图

jquery - 使用 $(html, props) 并附加 .data 通过 jQuery 创建新元素

JavaScript 数组声明

javascript - Invariant Violation : The navigation prop is missing for this navigator. 在 react-navigation 3 中你必须直接设置你的应用容器

javascript - Ember 2,使用 ember-truth-helpers 等插件进行表演,而不仅仅是 Ember 默认方式

jquery - 如何转换为 jquery 数据表