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

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

jquery - (delegate的使用)

讲讲为什么要用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标签是新插入进来的。
        }
    })
})

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

相关文章:

  • 2021-08-24
  • 2022-12-23
  • 2022-03-06
  • 2021-09-06
  • 2021-11-30
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-11-27
  • 2022-12-23
  • 2022-12-23
  • 2022-03-07
  • 2021-04-16
  • 2022-12-23
相关资源
相似解决方案