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

前端之家收集整理的这篇文章主要介绍了jQuery监听器不“监听”动态创建的DOM元素上的事件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Event handler not working on dynamic content 2个
我有一个像这样的听众:
$('.delete').click(function() {
  ...some stuff
});

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

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

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

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

解决方法

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

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

猜你在找的jQuery相关文章