日期:2014-05-16  浏览次数:20383 次

js动态生成的dom节点不能绑定事件的原因
本帖最后由 wdxmm 于 2013-03-29 23:22:37 编辑
都知道在jquery中,如果要给动态生成的节点绑定时间,以前要用live,现在用delegate或者on,原理是利用冒泡实现事件委托,也就是给生成节点的父节点预先绑定事件。

我的问题是:当dom树第一次加载完毕的时候,确实还没有动态生成的节点,但一旦
‘$div = $("<div class="div">node</div>"); $("#id").append($div);’之后,dom树里面不久有了div节点吗?这个时候给它绑定事件‘ $(".div").click();’却不行,这是为什么呢?难道动态生成的dom节点不能反映到第一次加载的dom树中吗?
jquery javascript dom

------解决方案--------------------
只要dom对象生成,就算没有apeend到页面,已经可以bind成功

直接$div.click(function(){alert(0);});肯定可以成功

在append后,用选择器也应该可以成功,你把代码发出来看看