原生js怎麼為動態生成的標籤新增各種事件
阿新 • • 發佈:2022-04-29
這幾天用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>