博客列表 >事件代理、留言板和字符串函数

事件代理、留言板和字符串函数

沉寂的博客
沉寂的博客原创
2021年01月20日 10:56:24545浏览

事件代理

事件传递
1.捕获:从最外层的元素逐级向内知道事件的绑定着
2.目标:到达事件目标
3.冒泡:从绑定着再有内到外逐级向上知道最外层的元素
主要学习冒泡,事件类型ev.type,事件绑定着 ev.currentTarget,事件触发者 ev.target事件传递路径 ev.path,阻止事件冒泡 ev.stopPropagation,事件代理也叫事件委托,遍历每个li并逐个为它添加点击事件。
代码如下:

  1. <ul>
  2. <li>item1</li>
  3. <li>item2</li>
  4. <li>item3</li>
  5. <li>item4</li>
  6. <li>item5</li>
  7. </ul>
  1. const Lis = document.querySelector("ul");
  2. Lis.addEventListener("click", (ev) => {
  3. // 事件绑定者
  4. console.log(ev.currentTarget);
  5. // 事件触发者,通常是事件绑定者的子元素
  6. console.log(ev.target.innerHTML);
  7. ev.target.style.background = "#aaa";
  8. });

留言板

代码如下:

  1. <body>
  2. <form>
  3. <h3>留言板:</h3>
  4. <textarea
  5. name="liuyan"
  6. id="liuyan"
  7. value="aaa"
  8. cols="30"
  9. rows="10"
  10. placeholder="请输入评论内容……"
  11. ></textarea>
  12. </form>
  13. <ol id="list"></ol>
  1. const msg = document.querySelector("textarea");
  2. const list = document.querySelector("#list");
  3. msg.onkeydown = (ev) => {
  4. // 检查触发条件
  5. if (ev.key === "Enter") {
  6. // 非空判断
  7. if (ev.currentTarget.value.length === 0) {
  8. alert("输入内容不能为空");
  9. } else {
  10. // console.log(ev.currentTarget.value);
  11. let htmlStr = `<li>${ev.currentTarget.value}
  12. <button onclick = del(this)>删除</button>
  13. </li>`;
  14. list.insertAdjacentHTML("afterBegin", htmlStr);
  15. ev.currentTarget.value = null;
  16. // msg.value = null;或者上边的语句
  17. }
  18. }
  19. };
  20. function del(element) {
  21. list.removeChild(element.parentNode);
  22. // confirm('确定要删除这条评论吗?') ? element.parentNode.outerHTML = null : false;
  23. // confirm("你确定删除留言吗?")
  24. // ? (element.parentNode.outerHTML = null)
  25. // : false;
  26. }

运行结果:
留言板

字符串函数

字符串函数,如下代码所示:

  1. <script>
  2. // concat();字符串拼装
  3. let str = " html ".concat("css", "php", 789);
  4. console.log(str);
  5. // slice(开始下标,结束下标)字符串截取
  6. let jq = "hello!";
  7. console.log(str.trim().slice(0, 3));
  8. console.log(str.substr(0, 3));
  9. // trim();删除两端的空格键
  10. console.log(str.trim());
  11. // 字符串打成数组split()
  12. console.log(str.split(""));
  13. // 字符串转大写
  14. console.log(str.trim().toUpperCase());
  15. // 字符串转小写
  16. console.log(str.trim().toLowerCase());
  17. // toLowcase()
  18. </script>

运行结果:
字符串函数

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