js事件及css和js常见错误

一.javascript事件

事件传递:

冒泡:最具体元素最先捕捉到事件,传递给最不具体的元素

捕获:最不具体的元素先捕获到事件,传递给最具体的元素

默认都是冒泡,使用捕获

elem.addEventlistener(事件类型,响应函数,是否为捕获)

elem.addEventlistener("click",doit,true)

event.stopPropagation();阻止事件传递

event.preventDefaule();阻止默认事件

例:

var  son = document.querySelector(".son");
			var  parent = document.querySelector(".parent");
			var  container = document.querySelector(".container");
			var a = document.querySelector("a");
			a.addEventListener("click",function(e){
				e.stopPropagation(); //阻止事件冒泡
				e.preventDefault();//阻止默认事件
				alert("哇,中奖了");
			})
			son.addEventListener("click",function(){
				alert("son被点击了")
			},false)
			parent.addEventListener("click",function(){
					alert("parent被点击了")
			},false)
			container.addEventListener("click",function(){
				alert("container被点击了")
			},false)
			// addEventListener(事件类型,响应的函数,是否使用捕获)
			// 捕获:事件最不具体的元素捕捉事件,传递给最具体的元素
			/* son.onclick = function(e){
				e.stopPropagation();
				// 阻止事件传递
				alert("son被点击了")
			}
			parent.onclick = function(){
				alert("pare
				nt被点击了")
			}
			container.onclick = function(){
				alert("container被点击了")
			} */
			// 最小的元素先监听到事件,然后传递给父元素监听:事件的冒泡机制

鼠标事件

mouseover 鼠标移入   mouseout 鼠标移出   mousedown 鼠标按下   mouseup 鼠标弹起

mousemove 鼠标移动   click 鼠标单击   dblclick鼠标双击

键盘事件

keypass 当用户按下键盘上的字符键触发,如果按住不放,会重复触发

keyup 键盘松开

keydown 键盘按下

event.keycode 键盘对应数字编码

event.which 等于keycode

例:

	<body>
		<h1>留言板</h1>
		<div class="container">
			<p>我是第一条默认留言</p>
			<p>我是第二条留言</p>
		</div>
		<input type="text" placeholder="请留言" id="inp">
		<script>
			var inp = document.getElementById("inp");
			var container = document.querySelector(".container");
			// inp添加键盘事件keyup,如果是回车键
			inp.addEventListener("keyup",function(event){
				console.log(event,event.keyCode,event.key);
				// 如果是enter键
				if(event.keyCode==13){
					// 创建个p
					var p = document.createElement("p");
					// 设置文本
					p.innerText = inp.value;
					// 插入到container
					container.appendChild(p);
					// 请求inpt
					inp.value = '';
				}
			})
			// 创建一个p标签,把inp文本放入p
			// 让container插入p标签
		</script>
	</body>

表单事件

change 值发生变化   inpu 真在输入

页面事件

load 加载   resize 窗口变化  scroll 滚动

事件代理

把事件注册到其共有的父元素上,通过事件的冒泡机制 event-target实现目标(本来注册给每个元素注册)

例:

	<body>
		<h1>留言板</h1>
		<div class="container">
			<p>我是第一条默认留言</p>
			<p>我是第二条留言</p>
		</div>
		<input type="text" placeholder="请留言" id="inp">
		<script>
			var inp = document.getElementById("inp");
			var container = document.querySelector(".container");
			// 单击container里面的p标签弹出内容
			/* var ps = container.querySelectorAll("p");
			// 遍历ps 添加事件
			ps.forEach(item=>{
				item.onclick = function(){
					// 弹出item的文本
					alert(this.innerText);
				}
			}) */
			container.addEventListener("click",function(event){
				alert(event.target.innerText);
			})
			// 动态添加的p元素没办法绑定事件
					
			// inp添加键盘事件keyup,如果是回车键
			inp.addEventListener("keyup",function(event){
				console.log(event,event.keyCode,event.key);
				// 如果是enter键
				if(event.keyCode==13){
					// 创建个p
					var p = document.createElement("p");
					// 设置文本
					p.innerText = inp.value;
					// 插入到container
					container.appendChild(p);
					// 请求inpt
					inp.value = '';
				}
			})
			// 创建一个p标签,把inp文本放入p
			// 让container插入p标签
		</script>
	</body>

二.js和css常见错误

js常见错误:

 Uncaught TypeError: Cannot read properties of null (reading 'classList')

Uncaught 没有捕捉到

TypeError类型错误

Cannot 不能

read 读

properties 属性

of null null的

不能读取null的属性(reading ‘classList’)

reading读

classList 类列表

当读取null的classList属性了发送了类型错误

引起的原因: swiper选择适合没有选择到值就null(选择器填错了)

 

swiper.js出错了,还在第1行

uncaught没有捕捉到

SyntaxError 语法错误

Unexpected 不希望,不应该的

token符号

‘<’ 不应存在

引起原因:script的src 地址填错了,hbuilderx默认返回一个404的网页

js文件是个html待'<' 报错

 

未捕捉到引用错误:b 没有定义

(没有定义就去使用它了)

 

25行发生的错误

Uncaught 没有捕捉到

SyntaxError:语法错误

Invalid不合法的

or或者

Unexpected 不应该出现的

token字符

第25行语法错误,标点符号错误

script写过src属性的不能在里面放入代码

336b3069daf636986675e7dd96231989.png

常见错误.html:20 Uncaught TypeError: swiper.clone is not a function

20行发生了错误

uncaught TypeError没有捕捉到类型错误

: swiper.clone is not a function

.swiper.clone不是一个函数

swiper没有clone方法 大概率方法名写错了

css常见错误

  1. css //注释不管用

  2. 上一行发生错误,下一行css也不管用

 

如果审查元素,没有发现你的的css

  1. css引入发生错误

  2. css选择器发生错误

如果审查元素发现你写的css,被划掉了

被划掉带感叹号,css语法错误

单纯比划掉,选择器权限不够

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值