利用事件冒泡 和事件源对象进行处理
优点
1 性能 不需要循环所有的元素一个个绑定事件
2 灵活 当有新的子元素时不需要重新绑定事件
<body>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
<li>10</li>
</ul>
<script>
var ul = document.getElementsByTagName('ul')[0];
ul.onclick = function (e) {
var event = e || window.event;
//target即为事件源对象
var target = event.target || event.srcElement;
console.log(target.innerText);
}
</script>
</body>
这里有一个ul里面有10个li li多大决定了ul多大
事件委托我们只需要给ul设置一个事件 而不用单独给每一个li都设置事件
然后点击每一个li时 只需要寻找到事件的源对象 即可找到对应被点击的li
然后输出li里的内容通过即可
这时不管有多少个li这个方法都不受影响