-->将我们的事件统一绑定给元素的共同的祖先,这样当后代元素上的事件触发时,会一直冒泡到祖先元素,从而通过祖先元素的响应函数来处理事件,事件委派利用到了冒泡,通过委派可以减少事件绑定的次数,提供程序的性能-->target:事件对象中的target表示的触发事件的对象
<ul id="u1"> <button>添加a标签</button> <li><a href="#" class="link">hahah</a></li> <li><a href="#" class="link">hahah</a></li> <li><a href="#" class="link">hahah</a></li> <li><a href="#" class="link">hahah</a></li> </ul> <script> let u1 = document.getElementById('u1') u1.onclick = function (event) { event = event || window.event if (event.target.className == 'link') { alert(1) }; }; let btn = document.getElementsByTagName('button')[0] btn.onclick = function () { // 创建一个li let li = document.createElement('li') // 给li添加内容 li.innerHTML = '<a href="#" class="link">hahah</a>' // 添加到ul里 u1.appendChild(li) } </script>