博客列表 >事件的添加方式,fetch的常用场景

事件的添加方式,fetch的常用场景

可乐
可乐原创
2021年10月12日 13:24:50474浏览

事件添加方式

① 事件属性添加

  1. <button onclick="alert('面包')">事件属性</button>

② 元素对象

  1. <button>元素对象</button>
  2. <script>
  3. const btn2 = document.querySelector("button:nth-of-type(2)");
  4. btn2.onclick = () => console.log(巧克力面包);
  5. btn2.onclick = (_) => console.log(罗宋面包);
  6. btn2.onclick = ($) => console.log(荞麦面包);
  7. </script>

③ 事件监听器

  1. <button>事件监听器</button>
  2. <script>
  3. const btn3 = document.querySelector("button:nth-of-type(3)");
  4. btn3.addEventListener("click", () => console.log(巧克力面包));
  5. btn3.addEventListener("click", () => console.log(罗宋面包));
  6. btn3.addEventListener("click", () => console.log(荞麦面包));
  7. let show = () => console.log(蜂蜜面包);
  8. btn3.addEventListener("click", show);
  9. btn3.removeEventListener("click", show);
  10. </script>

④ 事件派发

  1. <button>事件派发</button>
  2. <script>
  3. const btn4 = document.querySelector("button:nth-of-type(4)");
  4. let i = 1;
  5. btn4.addEventListener("click", () => {
  6. console.log("恭喜你, 获得面包: " + i + " 个");
  7. i += 1;
  8. });
  9. // 创建一个自定义事件
  10. const myclick = new Event("click");
  11. setInterval(() => btn4.dispatchEvent(myclick), 3000);
  12. </script>

fetch的常用场景

  1. <button onclick="getList()">留言列表</button>
  2. <div id="box">
  3. <!-- 显示留言信息 -->
  4. </div>
  5. <script>
  6. async function getList() {
  7. // 请求100条留言
  8. const response = await fetch(
  9. "https://jsonplaceholder.typicode.com/posts"
  10. );
  11. const comments = await response.json();
  12. // 将所有数据渲染到页面中
  13. render(comments);
  14. }
  15. function render(data) {
  16. const box = document.querySelector("#box");
  17. // 有序列表
  18. const ol = document.createElement("ol");
  19. data.forEach((item) => {
  20. console.log(item);
  21. const li = document.createElement("li");
  22. li.textContent = item.body.slice(0, 100) + "...";
  23. li.innerHTML = `<span style="color:green">${item.body.slice(
  24. 0,
  25. 100
  26. )} ...</span><hr>`;
  27. ol.append(li);
  28. });
  29. box.append(ol);
  30. }
  31. </script>
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议