今天做毕设的时候发现,我为用jquery动态添加的元素添加点击事件的时候,居然没有反应,但是我的其他页面动态添加的元素却可以添加点击事件,然后我对比了一下,发现以下结论。
不是动态加载出来的元素(自己输入的,如下图)
<section id="catalog" class="col-md-3 col-xs-6 col-lg-3">
<ul>
<li class="li-click dropdown"></li>
</ul>
</section>
可以直接用$("#catalog ul li").click(function(event){
});添加点击事件。
但是用动态加载出来的元素
<section id="catalog" class="col-md-3 col-xs-6 col-lg-3">
<ul>
</ul>
</section>
<script>
$("#catalog ul").append('<li></li>');
</script>
用上述方法为li添加点击事件是没有效果的。要用
$("#catalog ul").on('click','li'function(event){
});这种方法。同时$("#catalog ul")必须是页面原有的元素,否则也是不起作用的。