1. 程式人生 > 其它 >原生js怎麼為動態生成的標籤新增各種事件

原生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>