jquery - (delegate的使用)

以前jq绑定点击事件,是不是都是$("xxxx").click(function(){}) 

嗯,人都是这样,不碰到坑,是不知悔改的。

讲讲为什么要用delegate绑定事件。

举个例子:我在class为demo的标签内的a 标签加了个点击事件,而点击事件里面执行的是把demo标签内,所有内容替换,同时也会重新插入a标签。

比如:

$(".app_infro_con").delegate("a","click",function() {     // 给class名为app_infro_con内的a 标签一个点击事件
    $.ajax({
        type:"get",
        url: Url,
        dataType:"jsonp",
        async: true,
        beforeSend:function(XMLHttpRequest){ 
            $(".app_infro_con").html("<img style='width: 100%;' src='./images/loading.gif'/>");  // 替换app_infro_con内的内容,这时app_infro_con里面已经没有a标签了
        }, 
        success:function(res){
            var infro = res.data.notice
            $(".app_infro_con").html(infro);  // 这里的infro 是我外部定义的一个内容,里面是有a标签的,但是 如果用直接click去绑定,你会发现click只会触发一次,这是因为这里的a标签是新插入进来的。
        }
    })
})

嗯,终于从坑里出来了。可怕~

转载于:https://www.cnblogs.com/lafitewu/p/8821387.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值