JQ高级事件之事件委托

事件委托
跟字面意思一样,需要找一个东西来帮助一起完成某个东西。用我们JQ的语言来说就是,我有2000个按钮,但我们不能一个一个绑定,这样太过于浪费操作,那我们怎么做呢,事件默认情况下是冒泡的,我们可以把事件直接绑定他们的父元素,也就是说通过指定一个事件处理程序,就可以管理某一类的所有事件,这样我们可以通过event.target属性找到它实际点的是那个元素(这里说的是JS原生方法的实现),当然还可以实现动态绑定

<div id="btn">
    <input type="button" value="button1" class="button">
    <input type="button" value="button12" class="button">
    <input type="button" value="button123" class="button">
</div>
<script>
    $('.button').bind('click',function(){
        alert('1')//这就是事件不委托,每个按钮有自己的事件
    })
    $('#btn').delegate('.button','click',function(){
        alert('1')//这就是事件委托,
    })
    //动态绑定
    $('#btn').delegate('.button','click',function(){
        $(this).clone().appendTo('#btn');
    });
    //取消绑定
    $('#btn').undelegate('.button','click')//当然还可以使用命名空间的方法
</script>

那我们什么时候使用事件委托呢,又什么时候使用事件绑定呢
当我们DOM中有很多元素绑定相同事件时,或者动态绑定时,首选事件委托

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小疯疯0413

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值