原生js怎么为动态生成的标签添加各种事件
Posted 卢沟晓月前端之路
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了原生js怎么为动态生成的标签添加各种事件相关的知识,希望对你有一定的参考价值。
这几天用zepto.js写了不少事件,突然想到一个问题,那就是原生的js如何给动态生成的标签添加事件?因为这些标签都是后来通过ajax或者运行其他点击事件生成的,那么如果之前给他们写事件他们这个dom对象是找不到的,jq通过事件委托解决了这个问题,但是原生js这个问题该怎么解决呢?我在网上查了很多资料,好像只有一种办法,那就是在生成标签并把标签添加到html结构中后再添加对于这个新标签的各种事件,如果有更好的方法,欢迎提出来。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <div id="a">我是初始就有的div </div> </body> <script type="text/javascript"> window.onload = function () { var myp = document.createElement(‘p‘); document.getElementById(‘a‘).appendChild(myp); alert(document.getElementsByTagName(‘p‘)[0]) myp.innerHTML = ‘我是新建的p标签‘; document.getElementsByTagName(‘p‘)[0].onclick = function(){ alert(‘我是p的点击事件‘) } } </script> </html>
以上是关于原生js怎么为动态生成的标签添加各种事件的主要内容,如果未能解决你的问题,请参考以下文章