1. 什么是事件委托:
子元素事件委托给父元素, 然后触发事件的时候找到对应的event.target触发元素进行的回调函数执行,通过事件冒泡
功能: append以后的标签添加事件
<div id="box">
<div class="a">a 的事件委托</div>
<br />
<br />
<br />
<div class="b">b的事件委托</div>
<br />
<br />
<br />
<div id="a">#a的事件委托</div>
<p>Click me!</p>
</div>
//1.7以后已经不 支持live了。
$('#a').live('click',function(){
alert('a');
})
$('#box').delegate('.a','click',function(){
alert('delegate');
})
// 这里表示a的事件通过#box父元素来来委托, 通过$(this)获取的是触发事件的子元素
//在jquery中事件委托只是找相应的event.target触发元素进行的回调函数执行,其他的并不关心。
// 现在通过on 来进行触发事件委托
$('#box').on("click",'.a',function(){
alert('a事件');
// $(this)获取的时候事件委托的子元素
$(this).removeClass('a').addClass('b');
});
$('#box').on("click",'.b',function(){
alert('b事件');
$(this).removeClass('b').addClass('a');
});
// 添加的标签都可以触发 on函数
$('#box').append('<div class="a" style="font-size: 30px;">我是新添加的div</div>')