事件委托

把事件绑定在父元素上,监听子元素,也就是委托老爸监视孩子,优点:

  • 省监听数(内存):孩子太多统一让老爸监听
  • 可以监听动态元素:孩子没出生委托老爸监听
  1. // 返回鼠标所点击列表内的内容
  2. <ul>
  3. <li>1</li>
  4. <li>2</li>
  5. </ul>
  6. <script type="text/javascript">
  7. var ul = document.getElementsByTagName('ul')[0];
  8. ul.onclick = function(e) {
  9. var event = e;
  10. var target = event.target;
  11. console.log(target.innerText);
  12. }
  13. </script>
  • target 与 currentTarget 的区别:
    • e.target: 用户操作的元素
    • e.currentTarget: 程序员监听的元素
    • 比如上例中,e.target 就是 li ,e.currentTarget 就是 ul