博客列表 >事件冒泡及事件代理原理及实例演示以及几个常用的字符串api

事件冒泡及事件代理原理及实例演示以及几个常用的字符串api

P粉479712293
P粉479712293原创
2022年08月24日 14:12:44411浏览

题目一:事件冒泡与事件代理的原理与实例演示

对应的html文件如下:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. </head>
  9. <body>
  10. <!-- * ul>li*5{item$} -->
  11. <ul>
  12. <li data-index="1">item1</li>
  13. <li data-index="2">item2</li>
  14. <li data-index="3">item3</li>
  15. <li data-index="4">item4</li>
  16. <li data-index="5">item5</li>
  17. </ul>
  18. <script src="../static/第20章/1事件冒泡与事件代理的原理与实例演示.js"></script>
  19. </body>
  20. </html>

对应的js文件如下:

  1. // *事件冒泡的原理就是:当前元素的事件会向上(父级)进行传递,
  2. // *当父级有同名会自动触发。
  3. // *根据冒泡原理,当前元素上的同名事件会向上传递到它的父级,
  4. // *如果当前是一个列表,或者当前是一组集合,那么添加事件会非常麻烦,
  5. // *而根据DOM树的特点,不管当前有多少元素,都会有一个父级,
  6. // *故可以将这个事件,直接添加到它的父级,这样的做法就是事件委托
  7. // *或事件代理。即将元素的事件委托在其父元素上触发,以简化代码。
  8. // *以下是示例:
  9. // *1.先创建所有li的父级ul
  10. const ul=document.querySelector('ul');
  11. // *2.直接给ul添加事件
  12. ul.onclick=function(){
  13. // *事件目标:li,子元素
  14. console.log(event.target,event.target.dataset.index);
  15. // *事件主体:ul,父元素
  16. console.log(event.currentTarget);
  17. };

对应的浏览器效果图如下:

题目二:常用的字符串api演示实例

对应的js文件如下:

  1. // *示例1:
  2. // *includes(str)检测一个字符串是否在另一个字符串里包含,区分大小写
  3. let str="abcdef";
  4. console.log(str.includes("def"));
  5. // *而我们把“def”换成首个字母为大写的“Def”时,并不能检测到
  6. str="abcdef";
  7. console.log(str.includes("Def"));
  8. // *示例2:
  9. // *查找这个str在整个字符串中最后出现的位置
  10. str="AFGHJKLL:JJHKAJALKA";
  11. console.log(str.lastIndexOf("J"));
  12. // *示例3:
  13. // *提取新字符串从第二个字符到第四个 (字符索引值为 1,2,3)
  14. str="avxdsdfasd";
  15. console.log(str.slice(1, 4));
  16. // *示例4:
  17. // *将字符串转为小写的形式(并不会影响字符串本身的值)
  18. str="QWERTASDF";
  19. console.log(str.toLowerCase());
  20. // *示例5:
  21. // *将字符串转为大写的形式(并不会影响字符串本身的值)
  22. str="qazwsxedcrfvrfv";
  23. console.log(str.toUpperCase());
  24. // *示例6:
  25. // *删除字符串的单端或两端的空白字符(并不影响字符串的值)
  26. str=" abc ";
  27. console.log(str.trim());

对应的浏览器效果图如下:

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议