22_DOM事件委托.html 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  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. <ul>
  10. <li>hello world</li>
  11. </ul>
  12. <button>add</button>
  13. <script>
  14. var oBtn = document.getElementsByTagName("button")[0];
  15. var oUl = document.getElementsByTagName("ul")[0];
  16. var oLi = document.getElementsByTagName("li");
  17. var i = 1
  18. oBtn.onclick = function(){
  19. var newLi = document.createElement("li");
  20. newLi.innerText = ++i;
  21. oUl.append(newLi);
  22. }
  23. oUl.onclick = function(evnet){
  24. // console.log(evnet)
  25. // event.target 基于事件冒泡 可以捕捉到具体内部哪一个元素触发的事件
  26. // 事件委托 将内部元素的事件委托给父元素进行处理
  27. // 动态添加的元素如果绑定事件一般使用事件委托
  28. console.log(evnet.target.innerText);
  29. }
  30. // oLi.onclick = function(event){
  31. // console.log("li")
  32. // }
  33. // for(var i=0;i<oLi.length;i++){
  34. // console.log(i);
  35. // oLi[i].onclick = function(){
  36. // console.log(this.innerText);
  37. // }
  38. // }
  39. </script>
  40. </body>
  41. </html>