动态添加的标签,class属性无效(绑定事件不可用)
程序员文章站
2022-03-02 15:30:07
...
前面一篇文章提到动态添加、删除一行的实现方法
在项目中第一次写动态添加的时候,遇到了一个问题,就是添加的标签,之前绑定的同class事件都失效了,查资料后发现,是绑定事件使用的方法不对,下面说一下。
首先是失效情况
$('.btn').click(function() {
alert('点击了按钮');
});
可以看到上面我是用.click()
的方式绑定事件的,这个方法对动态添加的元素是无用的,只对静态控件有效。
下面是修改后实现的代码
$('boty').on('click', '.btn', function() {
alert('点击了按钮')
});
这里用的.on()
方法来绑定,尝试后发现动态添加的按钮也绑定了事件。
总结:click()
方法对动态生成的标签无效,当有动态控件时,可使用on()
方法绑定事件。