WEB前端-笔记(二)

devtools/2024/11/9 16:43:19/

一、事件

1.1类型

focus 获取焦点事件

ipt.addEventListener("focus", () => {.log("")
})

blue 失去焦点事件

ipt.addEventListener("blur", () => {console.log("")
})

inout 文本输入事件

txt.addEventListener("input", () => {console.log("")
})

change 文本改变事件

txt.addEventListener("change", () => {console.log("")
})

mouseenter 鼠标移入事件

txt.addEventListener("mouseenter", () => {txt.style.backgroundColor = ""
})

mouseleava 鼠标移出事件

txt.addEventListener("mouseleave", () => {txt.style.backgroundColor = ""
})

keydown 键盘按下事件

txt.addEventListener("keydown", () => {console.log("")
})

keyup 键盘弹开事件

txt.addEventListener("keyup", (a) => {console.log("")
})

1.2对象

帮忙记录此次事件触发的所有类型信息,包括触发哪些事件类型、按下哪些键盘按键等等

const txt = document.querySelector("textarea")txt.addEventListener("keydown", (event) => {console.log(event)if (event.code == "Enter") {console.log("")}
})

1.3页面加载事件

window.addEventListener("load", function () {const btn = document.querySelector("button")btn.addEventListener("click", () => {console.log("")})
})

load 等待页面所有资源加载完毕再执行函数

1.4滚动事件

scroll 滚动;该事件一般添加于"window"、"document"、"html"

window.addEventListener("scroll", function () {console.log("")
})

scrollLeft 获取元素向左滚出的高度

window.addEventListener("scroll", function () {console.log(document.documentElement.scrollLeft)
})

scrollTop 获取元素向上滚出的高度

window.addEventListener("scroll", function () {if (document.documentElement.scrollTop >= 1000) {document.querySelector("div").style.display = "block"}document.querySelector("div").addEventListener("click", function () {document.documentElement.scrollTop = 0document.querySelector("div").style.display = "none"})
})

当页面滚出一定距离时,点击“div”回到顶部

1.5尺寸事件

resize

 window.addEventListener("resize", () => {console.log("")
})

1.6捕获&冒泡事件

true 捕获;false 冒泡

const gf = document.querySelector(".grandFather")
const f = document.querySelector(".father")
const s = document.querySelector(".son")
gf.addEventListener("click", function (e) {console.log("我是爷爷触发的事件")e.stopPropagation()
})
f.addEventListener("click", function (e) {console.log("我是爸爸触发的事件")e.stopPropagation()
})
s.addEventListener("click", function (e) {console.log("我是儿子触发的事件")e.stopPropagation()
})

1.7阻止表单提交

const btn = document.querySelector("button")
btn.addEventListener("click", function (e) {e.preventDefault()
})

1.8全选案例

const all_check = document.querySelector("#checkAll")
const cks = document.querySelectorAll(".ck")

功能一:点击“全选”按钮,下列列表被全选

all_check.addEventListener("click", function () {if (all_check.checked == true) {for (let i = 0; i < cks.length; i++) {cks[i].checked = true}
}else {for (let i = 0; i < cks.length; i++) {cks[i].checked = false}}
})

功能二:将下列列表全选,“全选”按钮被选择

for (let i = 0; i < cks.length; i++) {cks[i].addEventListener("click", function () {let num1 = document.querySelectorAll(".ck:checked")if (num1.length == cks.length) {all_check.checked = true}else {all_check.checked = false}})
}

1.9事件委托

利用事件监听里的冒泡

const ul = document.querySelector("ul")
ul.addEventListener("click", function (e) {if (e.target.tagName === "LI") {e.target.style.backgroundColor = "red"}
})

1.10client&offset

clientWidth/clientHeight 获取元素可视区域的宽度/高度,不包括边框、margin、滚动条

const box = document.querySelector("div")
console.log(box.clientWidth)
console.log(box.clientHeight)

offsetWidth/offsetHeight 获取元素自身的宽/高,包括padding、border

console.log(box.offsetWidth)
console.log(box.offsetHeight)

1.11换取元素的位置

获取元素距离自己已有定位的父级元素的左&上距离

const box = document.querySelector("div")
const p = document.querySelector("p")
console.log(p.offsetTop)
console.log(p.offsetLeft)

1.12创建节点

创建节点

const btn = document.querySelector("button")
const ul = document.querySelector("ul")
btn.addEventListener("click", function () {const newLi = document.createElement("li")
})

给新创建的元素追加内容

btn.addEventListener("click", function () {const newLi = document.createElement("li")newLi.innerHTML = ``
})

追加节点至指定位置

btn.addEventListener("click", function () {const newLi = document.createElement("li")newLi.innerHTML = ``ul.insertBefore(newLi, ul.children[0])
})

1.13克隆节点

cloneNode(true) 表示克隆时将后代节点一起克隆,默认情况下为“false”

const li = document.querySelector("ul li")
const newli = li.cloneNode(true)
console.log(newli)

1.14删除节点

必须基于父元素进行删除

const ul = document.querySelector("ul")
ul.removeChild(ul.children[1])

1.15setTimeout

主要用来指定函数某段代码,在一定时间之后执行,返回一个整数,作为定时器的编号,以此后期清除定时器

根据定时器返回的整数清除定时器

let timer2 = setTimeout('console.log("Hello Word")', 3000)
clearTimeout(timer2)

在全局作用域下,this关键字指向window;对象中的this,默认指向对象本身;箭头函数没有this的作用域

1.16setInterval

每隔一定时间,执行一次代码

let timer = setInterval(function (a, b) {console.log("hello word")console.log(a)console.log(b)
}, 1000, 1, 2)
console.log(timer)

1.17clearInterval

用来停止setInterval()方法执行的函数代码

let timer = setInterval(function (a, b) {console.log("hello word")console.log(a)console.log(b)
}, 1000, 1, 2)
console.log(timer)
clearInterval(timer)

二、


http://www.ppmy.cn/devtools/2219.html

相关文章

Elasticsearch克隆索引

我所使用的Elasticsearch的版本是基于7.17.7。 需求是将某个ES的索引进行克隆。例如我要将索引test_0419_1克隆一份新的索引test_0419_2。步骤如下&#xff1a; 首先将源索引进行修改PUT /test_0419_1/_block/write&#xff0c;即禁止对这个索引进行写数据操作。然后执行克隆…

ArrayList的基本使用

我们知道&#xff0c;在java当中&#xff0c;当我们需要将一些相同数据放入一块时&#xff0c;需要使用数组&#xff0c;但是它有个弊端&#xff0c;数组在创建时必须声明长度&#xff0c;也就是数组长度不可变。但是&#xff0c;当我们使用ArrayList时&#xff0c;它相当于一个…

ASP.NET MVC中Filter过滤器的使用

MVC Filter是典型的AOP&#xff08;面向切面编程&#xff09;应用&#xff0c;在ASP.NET MVC中的4个过滤器类型&#xff0c;如下&#xff1a; 但是默认实现它们的过滤器只有三种&#xff0c;分别是ActionFilter&#xff08;方法&#xff09;&#xff0c;Authorize&#xff08;授…

Python零基础从小白打怪升级中~~~~~~~生成器和迭代器

第十七节&#xff1a;生成器和迭代器 一、迭代器 本质&#xff1a; 一个实现了__iter__方法和__next__方法的对象 注意 Iterator对象和 Iterable对象&#xff0c;一个是迭代器&#xff0c;一个是可迭代对象 1、list、dict、str、tuple、set是可迭代对象但不是迭代器&#x…

Kafka 知识汇总学习

kafka:消息发布队列、具有存储的功能 生产者 消费者 优势&#xff1a;吞吐量高&#xff0c;性能好&#xff1b; 具有良好的伸缩性&#xff0c;支持在线水平扩展; 具有容错性和可靠性&#xff1b; 与大数据生态结合 Kafka 是一个分布式系统&#xff0c;由服务器和客户端组成&…

新型物联网创新实践教学体系建设

新型物联网创新实践教学体系建设 一、设计背景 随着物联网技术的快速发展&#xff0c;物联网已成为当今科技创新的重要领域。为了培养能够紧跟物联网技术发展趋势的高素质人才&#xff0c;高校物联网专业教学急需构建一套创新实践教学体系。本毕业设计旨在探索和设计一套新型…

社交创新的标杆:解读Facebook的社交模式

引言 在当今数字化时代&#xff0c;社交媒体已成为人们日常生活和沟通的重要工具。作为全球最大的社交媒体平台&#xff0c;Facebook不仅改变了我们的社交模式&#xff0c;而且对全球的社交文化、商业活动和公共事务产生了深远的影响。本文将深入探讨Facebook的社交模式&#…

yolov8目标检测 部署瑞芯微rk3588记录

1. 前置条件 本地电脑系统&#xff0c;ubuntu20.04 训练代码&#xff1a; 训练代码下载的ultralytics官方代码 SHA&#xff1a;6a2fddfb46aea45dd26cb060157d22cf14cd8c64 训练代码仅做数据修改&#xff0c;类别修改&#xff0c;代码结构未做任何修改 需要准备的代码&#…