jquery 动态添加节点怎么绑定事件

Posted

tags:

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

可以用事件委托,jquery提供on()方法(jquery 1.7.0 以上版本)来委托绑定事件:

<ul class="list">
    <li><a href="javascript:;">导航1</a></li>
    <li><a href="javascript:;">导航2</a></li>
</ul>

$('.list').find('a').on('click', function()
    $(this).addClass('active').siblings().removeClass('active');
);

这样.list里通过js动态创建的a节点也能响应click事件。

参考技术A 委托父元素或添加后再筛选元素来绑定

jQuery给动态添加的元素绑定事件的方法

jquery中绑定事件一般使用bind,或者click,但是这只能是对已经加载好的元素定义事件,那些后来添加插入的元素则需要另行绑定。在1.7版本以前使用live。但是在1.8版本以后推荐使用on。这里介绍jQuery中如何给动态添加的元素绑定事件
在实际开发中会遇到要给动态生成的html元素绑定触发事件的情况

例如

1 <div id="testdiv">
2   <ul></ul>
3 </div>

需要给<ul>里面动态添加的<li>标签添加click事件
 


jquery 1.7版以前使用live动态绑定事件

$("#testdiv ul li").live("click",function(){
    //do something here
});

 

 

jquery 1.7版以后使用on动态绑定事件

1 $("#testdiv ul").on("click","li", function() {
2      //do something here
3 });

 

 


以上是关于jquery 动态添加节点怎么绑定事件的主要内容,如果未能解决你的问题,请参考以下文章

解决jQuery ajax动态新增节点无法触发点击事件的问题

用on给动态添加的元素绑定hover事件,没有生效的解决

jquery multiselect下拉列表复选框怎么动态添加option并赋值

jQuery动态添加的节点事件无法触发

js如何为动态添加进来的a超级链接元素添加click事件函数

怎样给jQuery动态附加新的元素