事件:元素在某种状态(浏览器实现的)达成时 要执行的提前设计好的程序 我们称之为事件句柄
事件由三部分组成(事件三要素)
1.事件源:事件被触发的对象(谁被触发)
2.事件类型:怎么触发(比如鼠标点击(onclick) 鼠标经过 键盘按下)
3.事件处理程序(handler):通过一个函数赋值的方式完成
事件添加的方式(注册事件 绑定事件)
行内式(将事件写在标签内)
<button onclick="javaScript:console.log(666)"></button>
<button onclick="fn()"></button>//调用全局的fn函数 将fn事件写在js代码中
属性绑定(只能绑定一个函数)
box.onclick = () => {
console.log(111);
};
box.onclick = () => {
console.log(222);
};//点击后只执行最后绑定的处理函数 前面的被覆盖
添加一个监听器(同一个元素可绑定多个监听器 触发后按注册顺序依次执行)
box.addEventListener(type, listener);
type:事件类型字符串 比如click 注意不同带on
listener:事件处理函数 事件发生时 会调用该监听函数
解绑
行内式和属性绑定解绑
box.onclick = null;//解绑后就不能点击了
监听器解绑
box.addEventListener("click", fn1);
box.addEventListener("click", fn2);
box.addEventListener("click", fn3);
box.removeEventListener("click",fn1)//解绑某个处理函数