美文网首页
jquery之给动态添加的元素绑定事件

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

作者: 前端唠唠嗑 | 来源:发表于2019-04-03 22:21 被阅读0次

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

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

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

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

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

下面给出几种解决方案

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

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

直接绑定.

二. 事件委托绑定

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

委托绑定

相关文章

网友评论

      本文标题:jquery之给动态添加的元素绑定事件

      本文链接:https://www.haomeiwen.com/subject/ivbtiqtx.html