您的位置:首页 > Web前端 > JQuery

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

2015-12-29 18:11 841 查看
近日,在动态生成的元素中,给子元素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>


“`
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息