JS实现为动态添加的元素增加事件功能示例

这篇文章主要介绍了js实现为动态添加的元素增加事件功能,结合实例形式分析了javascript基于事件委托实现针对动态添加的元素增加事件的相关操作技巧,需要的朋友可以参考下

本文实例讲述了JS实现为动态添加的元素增加事件功能。分享给大家供大家参考,具体如下:

我们在日常开发中有时会通过js创建一些元素,但是如果使用原始的for循环给创建的节点添加事件的方法往往行不通:

nbsp;html>  www.jb51.net js动态添加事件 

登录后复制登录后复制  123  123  123    document.getElementById('btn').addEventListener('click',function(){ var htmlFragment='

  • 我是新增的li'; var addLi=document.createElement('li'); addLi.innerHTML=htmlFragment; outUl.appendChild(addLi); },false); var outUl=document.getElementById('out-ul') var outLi=outUl.getElementsByClassName('out-li'); for(var i=0;i<outLi.length;i++){ outLi[i].onclick=function(){ alert(1); } }

    运行效果:

    JS实现为动态添加的元素增加事件功能示例

    比如这样,通过for循环给li添加的事件无法绑定到新增的li上边,详细的原因这里不做解释。那么这个如何解决呢,其实办法也简单,就是通过事件委托的方式去解决,直接上代码,上面的代码简单改造:

    nbsp;html>  www.jb51.net js动态添加事件 

    登录后复制登录后复制  123  123  123    var outUl=document.getElementById('out-ul') var outLi=outUl.getElementsByClassName('out-li'); document.getElementById('btn').addEventListener('click',function(){ var htmlFragment='

  • 我是新增的li'; var addLi=document.createElement('li'); addLi.innerHTML=htmlFragment; outUl.appendChild(addLi); },false); outUl.addEventListener('click',function(e){ e=e || window.event;//兼容ie alert(e.target.innerHTML); }, false);

    运行效果:

    JS实现为动态添加的元素增加事件功能示例

    上面是我整理给大家的,希望今后会对大家有帮助。

    相关文章:

    Ajax 通过城市名获取数据

    MVC遇上bootstrap后的ajax表单验证

    AJAX请求队列实现

    以上就是JS实现为动态添加的元素增加事件功能示例的详细内容,更多请关注【创想鸟】其它相关文章!

    版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

    发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2755912.html

  • (0)
    上一篇 2025年3月8日 07:21:58
    下一篇 2025年2月23日 12:54:47

    AD推荐 黄金广告位招租... 更多推荐

    相关推荐

    发表回复

    登录后才能评论