jquery - 无法在动态创建的内容上设置单击事件处理程序

标签 jquery

我有一些这样的代码:

$('.play').on( 'click', function(){
    console.log('click');
});

.play元素是使用 $('.game').html('<span class="paly">Play</span>') 动态创建的方法。但是,当我单击此跨度时,我的控制台日志中没有任何内容。我做错了什么?

谢谢。

PS:我使用的是 jQuery 1.7.1

最佳答案

不要使用live() - 它已被弃用。而是使用 on(),但在父元素上使用它来将事件委托(delegate)给,如下所示:

$('#parentOfPlay').on('click', '.play', function(){
    console.log('click');
});

关于jquery - 无法在动态创建的内容上设置单击事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8853294/

相关文章:

javascript - JQuery 代码,适用于版本 1.5.2 但不适用于版本 1.9.1

jquery - javascript 和 jquery 新手。我没有正确关闭某些东西吗? Dreamweaver 只说 "Syntax Error"

JQuery 序列化表单 - Kendo UI 复制输入

javascript - 根据 JavaScript 中的数组更改 div 背景颜色?

javascript - 下拉菜单中的 JQuery

php - 如何将表单模板保存到formbuilder构建的数据库中

jquery - CSS - float 元素矩阵

javascript - 防止某些内容在 contenteditable td 中被编辑

php - 根据时间更改div的背景颜色

javascript - 使用 jquery 的响应式菜单