2.事件委托.html 981 B

123456789101112131415161718192021222324252627282930313233343536
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Document</title>
  7. </head>
  8. <body>
  9. <!--
  10. 事件委托:
  11. 利用事件冒泡的特性
  12. 把原来要绑定在子元素上的事件 绑定到他的父元素上
  13. 触发子元素的时候 时间会冒泡到父元素上
  14. 父元素通过判断事件源来执行对应的逻辑
  15. 优势:
  16. 减少内存
  17. 精简代码
  18. -->
  19. <ul>
  20. <li>1</li>
  21. <li>2</li>
  22. <li>3</li>
  23. <li>4</li>
  24. </ul>
  25. <script>
  26. let uls = document.querySelector("ul");
  27. let lis = document.querySelectorAll("ul li");
  28. uls.onclick = function(event) {
  29. console.log(event);
  30. if(event.target.nodeName == "LI") {
  31. console.log(event.target.innerText);
  32. }
  33. }
  34. </script>
  35. </body>
  36. </html>