【笔记】jQuery中on()与delegate()方法给动态添加元素绑定事件

来源:互联网 发布:淘宝怎么买东西 编辑:程序博客网 时间:2024/05/30 04:34

近日,在动态生成的元素中,给子元素a标签添加事件的时候,发现.click();与on(‘click’,function(){});都不能成功的绑定上事件,之前的live()方法已经再官方文档中不予推荐使用。
所以为了解决这个问题,浏览网页,API等后获取的有价值的信息如下:
动态绑定可以使用on()方法与delegate()方法来实现。
在jQuery1.10的API中,
on()方法的第一个属性是事件类型type,
第二个属性是选择器selector,
第三个属性是事件function;
delegate()方法的第一个属性是选择器selector,
第二个属性是事件类型type,
第三个属性是事件function;

<script type="text/javascript">        $(function(){             var div = "<div class='item'><a  class='cancel'>X</a></div>";              $(".btn").click(function(){                $(this).before(div);            });             // $(document).delegate('.cancel','click',function(event) {             //  $(this).parent('.item').remove();             // });            $(document).on('click','.cancel',function(event) {                $(this).parent('.item').remove();             });          });     </script>``  
<div class="container">     <div class='btn'>+</div> </div>

“`

0 0