当前位置:网站首页>DOM —— 事件绑定与解绑
DOM —— 事件绑定与解绑
2022-08-02 14:17:00 【z_小张同学】
概念:
事件,就是函数在某种状态下(是由浏览器设定的,也叫事件触发)被调用.JS捕捉到的发生在网页上的行为,然后执行提前设定好的程序,官方称为事件句柄,是交互体验的核心功能。
事件三要素
1.事件源
2.事件类型
3.事件处理程序(handler)
事件绑定的方式
(1)行内绑定方式:在标签行内 的事件值上写上标志"javaScript:后跟js代码"
<div class="box" onclick="console.log(666)">hello</div>
(2)元素属性绑定方式:兼容性很好,但是一个元素的同一个时间上只能绑定一个处理程序(handler)
var box = document.querySelector(".box")
box.onclick = function() {
console.log("hello world");
}
(3)给元素添加一个事件监听器:IE9以下不兼容,可以为一个事件绑定多个处理程序 (使用最多的方法)
var box = document.querySelector(".box")
box.addEventListener("click",function() {
console.log("hello");
})
(4)给元素添加一个事件监听器(IE专有):一个事件同样可以绑定多个处理程序
var box = document.querySelector(".box")
box.attachEvent("click",function() {
console.log("hello");
})
(5)多元素同事件同处理程序绑定方式(代理模式):父元素绑定事件 通过事件对象来区分用户触发的事件属于哪一个具体的对象
var box = document.querySelector(".box")
box.onclick=function(e) {
e.target
}
事件解绑
(1)行内和属性解绑的事件 box.onclick = null
var box = document.querySelector(".box")
box.onclick = function() {
box.onclick = null
}
(2)移除对应的元素的对应的监听程序
function fn() {
console.log(222);
}
var box = document.querySelector(".box")
box.addEventListener("click",fn)
// 解绑
box.removeEventListener("click",fn)
边栏推荐
猜你喜欢
随机推荐
Xrdp 体验优化
【面经】被虐了之后,我翻烂了equals源码,总结如下
VLAN原理
【路由器与交换机的作用与特点 】
为什么 RTP 的视频的采样率是 90kHz ?
Homebrew的简单介绍
smart rtmpd web 接口说明
mongodb连接本地服务失败的问题
makefile——pattern rule
Feign Client 超时时间配置不生效
小知识点系列:StringUtil.isEmpty()与StringUtil.isBlank()的区别
面试追问系列-Redis技术原理
【个人向】线性表复习
HCIE学习记录——数据封装与常用协议(TCP/UDP)
webrtc 有关 SDP 部分的解析流程分析
【网络安全】学习笔记 --02 安全通信协议
Nvm,Nrm使用教程
【IP基本原理-ARP原理】
Scala的基础语法(小试牛刀)
Mysql锁机制与事务隔离