js 为动态添加的元素绑定事件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 为动态添加的元素绑定事件相关的知识,希望对你有一定的参考价值。

参考技术A 想必大家都有遇到过,DOM动态添加的元素,你给它绑定的事件是不起作用的。目前有两种办法,为动态添加的元素绑定事件

⚠️ 动态添加的子元素一定要放在on()方法里面,并且on()方法里面的 childSelector 必须要是 selector 的子元素,否则动态添加的元素绑定的事件依旧无效

JS或者jQuery怎么给动态添加的DOM元素绑定事件

楼下说得太简单了,估计提问者看不懂。

假设,你有以下DOM

<div id="dvTest">
    <div>在这下面加一个按钮</div>
</div>

然后你添加一个按钮,方法如下

function addButton()
    var $container = $("#dvTest");
    $container.append("<a href='javascript:;'>click me</a>");

然后,给刚加的按钮一个click事件

//你要先找到你加的这个按钮
$("#dvTest > a").click(function() alert('you clicked me') );
//或
$("#dvTest > a").unbind().on('click'), function() alert('you clicked me') );

我觉得你主要是jQuery的筛选器用得不够熟。你可以搜一下,大概看看。只要能找到控件,绑定事件都不叫事儿。

参考技术A 添加后再绑定事件。
或者用on来绑定

以上是关于js 为动态添加的元素绑定事件的主要内容,如果未能解决你的问题,请参考以下文章

JS或者jQuery怎么给动态添加的DOM元素绑定事件

jQuery动态创建的元素为啥不能绑定事件

js给动态添加的元素绑定事件

为动态添加的元素绑定事件

jQuery对 动态添加 的元素 绑定事件(on()的用法)

为啥我js动态添加的a标签相应的js会失效