jquery之给动态添加的元素绑定事件

通常我们使用jquery给元素class='addContent'绑定点击事件时代码如下:

$(". addContent ").click(function(){
  alert("点击成功");
})

但是当我们动态添加另外一个class='addContent'的新元素时,新元素不能绑定上上述点击事件,我试着用定时器setInterval来刷新,代码如下:

setInterval(function(){
  $(". addContent ").click(function(){
    alert("点击成功");
  })
},30)

这样做解决了该功能,但是带来了另外一个麻烦——定时器不断执行会影响网页性能,如果页面功能复杂会出现位置bug,所以不建议这样使用。

下面给出几种解决方案

一. 动态添加元素时直接绑定事件

代码及结果如图1所示,我们在动态添加元素的的时候直接绑定事件,这样做需要绑定的方法是全局方法,不能是在jquery里面写的局部方法,不然会调用不到。

直接绑定.

二. 事件委托绑定

代码及结果如图2所示,值得注意的是,这里的document可以换成需添加元素的已存在的父元素如#div1

委托绑定
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 通过jQuery,您可以选取(查询,query)HTML元素,并对它们执行“操作”(actions)。 jQuer...
    枇杷树8824阅读 3,899评论 0 3
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 28,381评论 1 45
  • 一、样式篇 第1章 初识jQuery (1)环境搭建 进入官方网站获取最新的版本 http://jquery.co...
    凛0_0阅读 8,877评论 0 44
  • 今天一天没干什么事,本准备陪孩子练完琴去图书馆,没去成,给我抱着个电视剧看上瘾了,我就知道我一旦看上,就停不下来。...
    Hi_张阅读 1,292评论 0 0
  • 春季校园招聘会,我们几个舍友在摆满招聘台的校园里从这看到那,又从那走到这,虽然学校也仅仅只能算得上一个普通的不能再...
    忆云夕阅读 1,747评论 0 1

友情链接更多精彩内容