首先要明白浏览器在加载页面的时候是按顺序来加载的,这样以来就很清楚了,js动态添加dom以后,这些dom并没有绑定事件,这个时候最简单的一个办法就是:将绑定事件的方法封装到一个函数A中,在动态添加完dom以后立即执行一次函数A即可。

需要注意的是,在你可能同时需要添加许多的dom,不要添加一个就执行一次函数A,这样会增加浏览器的负载,你需要在所有dom添加完以后在执行函数A,例如你用一个for循环遍历dom组合并拼接成一个字符串,然后添加到某个父级dom里面,这个时候你需要在循环外添加一次就可以了。

  代码如下:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>添加div并绑定点击事件</title>
 6     <style>
 7         div.btn{ 8             width: 200px;
 9             height: 50px;
10             line-height: 50px;
11             text-align: center;
12             border: solid 1px #000;
13             cursor: pointer;
14         }
15         div.innerDiv{16             width: 50px;
17             height: 50px;
18             background-color: black;
19             margin: 10px;
20             cursor: pointer;
21         }
22     </style>
23 </head>
24 <body>
25 <div class="aa">
26     <div class="btn">添加div并绑定点击事件</div>
27     <div class="outerDiv"></div>
28 </div>
29 <script>
30     function getClass(classname) {
31         return document.getElementsByClassName(classname);
32     }
33     getClass('btn')[0].onclick=function () {
34         addDom();
35     }
36 //    将点击事件封装为函数
37     function funA() {
38         for(var i=0;i<getClass('innerDiv').length;i++){
39             getClass('innerDiv')[i].onclick=function () {
40                 alert(this.innerText);
41             }
42         }
43     }
44 //    将添加dom封装为函数
45     function addDom() {
46         var oldHtml='';
47         for(var j=0;j<6;j++){
48             oldHtml+='<div class="innerDiv">'+j+'</div>'
49         }
50         getClass('outerDiv')[0].innerHTML=oldHtml;
51         funA();
52     }
53 //    如果将函数A放在这里就不会起作用的
54 //    funA();
55 </script>
56 </body>
57 </html>

个人博客:[**午后南杂**](http://recoluan.gitlab.io)

转载于:https://www.cnblogs.com/luanhewei/p/6038198.html

【原生js】js动态添加dom,如何绑定事件相关推荐

  1. js动态添加html元素绑定事件,JS实现动态添加DOM节点和事件的方法示例

    本文实例讲述了JS实现动态添加DOM节点和事件的方法.分享给大家供大家参考,具体如下: 运行效果图如下: 完整实例代码如下: /p> "http://www.w3.org/TR/xht ...

  2. jQuery给动态添加的元素绑定事件的方法

    jquery中绑定事件一般使用bind,或者click,但是这只能是对已经加载好的元素定义事件,那些后来添加插入的元素则需要另行绑定.在1.7版本以前使用live.但是在1.8版本以后推荐使用on.这 ...

  3. jQuery 为动态添加的元素绑定事件

    在使用jquery的方式为元素绑定事件时,我经常使用bind或者click,但这只能为页面已经加载好的元素绑定事件.像需要用ajax的方式请求远程数据来动态添加页面元素时,显然以上几种绑定事件的方式是 ...

  4. 动态添加html元素绑定事件,关于javascript:jQuery如何将onclick事件绑定到动态添加的HTML元素...

    本问题已经有最佳答案,请猛点这里访问. 我想将onclick事件绑定到用jquery动态插入的元素 但它从不运行绑定函数.如果您能指出这个示例为什么不起作用,以及如何使它正常运行,我将非常高兴: /p ...

  5. Angularjs 动态添加指令并绑定事件

    先说使用场景,动态生成DOM元素并绑定事件,非常常见的一种场景,用jq实现效果: http://jsbin.com/gajizuyuju/edit?html,js,output var count=0 ...

  6. jQuery Dom 操作,动态生成dom,绑定事件

    1.获取内容 - text().html()以及val() text()-设置货返回所选的元素的文本内容:$("#text").text(); html()- 设置或返回所选元素的 ...

  7. 原生js清空上一个元素内容_原生JS实现动态添加新元素、删除元素方法

    1. 添加新元素 动态添加新元素 Coffee Tea Coffee Tea var child = document.getElementsByClassName("child" ...

  8. js中动态添加/插入HTML代码块,并通过JQuery动态绑定点击事件

    文章目录 前言 一.场景需求还原 二.代码示例 1.引入JQuery库 2.代码示例 一:HTML中div标签部分 二:HTML中script标签部分 三:JS文件部分 总结 前言 本篇文章中讲的是在 ...

  9. vue 动态添加click_vue,在模块中动态添加dom节点,并监听

    vue向数组中动态添加数据 vue中数据更新通过v-model实现,向数组中添加数据通过push()实现,向shortcuts数组中动态添加newShortcut对象中的title和action th ...

最新文章

  1. css Table布局:基于display:table的CSS布局
  2. idea 2018.2.2安装
  3. 3.3.1 差错控制(检错编码)
  4. socket编程为什么要选择AF_INET?
  5. Vue源码解析之数组变异
  6. java 外卖订餐系统_java外卖订餐系统小项目
  7. python3多线程编程_Python 3-多线程编程
  8. Node 环境变量 process.env.NODE_ENV 之webpack应用
  9. calendar.getinstance()获取的是什么时间_时间管理技能培训.ppt
  10. android 调用百度地图api
  11. togaf简介(一)
  12. 开放世界游戏中的大地图背后有哪些实现技术?
  13. 高职计算机基础教案ppt,高职高专计算机基础幻灯片.ppt
  14. UTONMOS:元宇宙链游之风、燎原之势
  15. 刘涛代言的美丽田园冲刺港股:年内盈利2亿 突击分红1.2亿
  16. 深度学习之迁移学习介绍与使用
  17. 学友新碟private corner迷你音乐会CD/DVD超赞呀
  18. 多级树形目录mysql的使用_实现树形的遍历(关于多级菜单栏以及多级上下部门的查询问题)...
  19. StageFright的滥用导致百万安卓设备受到威胁
  20. Linux Shell Shock漏洞利用和实战

热门文章

  1. 有效降低传导辐射干扰的小技巧
  2. 结构体作为参数的传递和返回
  3. java 字符正则匹配算法_算法之字符串——正则表达式匹配
  4. 差分形式的牛顿插值公式(理论)
  5. opencv生成随机图(随机彩图,随机灰图)
  6. 基本粒子群算法(PSO)的改进
  7. github可视化_Cesium数据可视化-仓储调度系统可视化部分(附github源码)
  8. winform模拟登陆网页_winform跳转到制定的网页并自动实现登陆功能
  9. LVS-DR模式(原理图详解)
  10. Android 自动生成表格