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动态新增节点无法触发点击事件的问题
jquery multiselect下拉列表复选框怎么动态添加option并赋值