這幾天用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>