jQuery监听器不会"监听"动态创建的DOM元素上的事件

Luc*_*uca 6 jquery events dom click listener

我有一个这样的听众:

$('.delete').click(function() {
  ...some stuff
});
Run Code Online (Sandbox Code Playgroud)

此外,在同一页面上,另一个脚本以这种方式动态地向DOM添加元素:

$('#list').append('<tr><td><a class="delete" href="#">delete</a></td></tr>');
Run Code Online (Sandbox Code Playgroud)

我的问题是监听器不"监听"这些动态创建的元素.

请问有人可以解决一些问题吗?

axe*_*l_c 14

它只会监听绑定事件处理程序时存在的元素.如果您希望它监听动态创建的元素,您可以使用live()函数,该函数适用于当前和未来的元素.

编辑:从jQuery 1.7开始,推荐的方法是使用.on()函数替换.bind(),.live().delegate()提供附加事件处理程序所需的所有功能.

  • 谢谢。在我的情况下,我必须像这样将事件添加到我的文档元素中:`$(document).on('click','.mybutton', function() { //handler });` (2认同)