JavaScript事件监听

JavaScript事件监听JavaScript 事件监听常用的事件监听 DOM0 级事件监听 DOM2 级事件监听 onclickaddEv


1. 什么是事件监听 ?

事件监听就是计算机对事件进行监听,知道什么时候发生了这个事件,从而执行一些写好的程序。

那么,它的常用方法有哪些呢 ?让我们一起来看看吧 !


2. DOM0 级事件监听

DOM0 级事件监听:

  • 给元素设置它们的onxxx属性(e.g., onclick)

对于 DOM0 级事件监听 ,它只能监听冒泡阶段

2.1) 常见的页面事件监听

事件名 事件描述
onload 当页面或图像被完成加载
onunload 当用户退出页面

2.2) 常见的鼠标事件监听

事件名 事件描述
onclick 当鼠标单击某个元素
ondblclick 当鼠标双击某个元素
onmousedown 当鼠标按键在某个元素上按下
onmouseup 当鼠标按键在某个元素上松开
onmousemove 当鼠标按键在某个元素上移动
onmouseenter 当鼠标移动到某个元素上
(进入到某个元素区域时)

onmouseleave 当鼠标离开某个元素

其中onmouseenteronmouseover类似,onmouseleaveonmouseout类似;
它们两者的区别:
  onmouseenteronmouseleave事件不支持冒泡,另外两个支持事件冒泡;




所以,onmouseenteronmouseleave搭配使用,onmouseoveronmouseout搭配使用

2.3) 常见的键盘事件监听

事件名 事件描述
onkeypress 当键盘上的某个按键被按下
(系统按键无法识别 e.g.,F1 这类的按键)

onkeydown 当键盘上的某个按键被按下
(系统按键可以识别,并且先于onkeypress发生)

onkeyup 当键盘上的某个按键被松开

2.4) 常见的表单事件监听

事件名 事件描述
oninput 当用于正在修改表单域的内容
onchange 当用户改变了表单域的内容
onfocus 当元素获得焦点
(e.g.,tab键或鼠标点击)

onblur 当元素失去焦点
onsubmit 当表单被提交
onreset 当表单被重置

3. DOM2 级事件监听

DOM2 级事件监听:

EventTarget.addEventListener()方法将指定的监听器注册到EventTarget上,当该对象触发指定的事件时,指定的回调函数就会被执行。

它有着几种写法,想了解别的写法可以看看 MDN 官方文档,这里介绍的写法如下:

  • type:表示监听事件类型的字符串
  • listener:事件监听函数
  • useCapture:当写true时,进行的是事件捕获阶段,默认为false,事件冒泡阶段
EventTarget.addEventListener(type, listener, useCapture); 

对于常用的type:即把常用的 DOM0 级的onxxxon去掉后就可以了,即原来的事件名。
例如:

target.addEventListener('click', () => { 
       console.log("我被点击了"); }); // 这里第三个参数没写,默认监听冒泡阶段,如果要监听捕获阶段,写上 true 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/220973.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午7:13
下一篇 2026年3月17日 下午7:13


相关推荐

  • 出现namenode不能启动的情况,就把hadoop安装目录下的hadoop目录下的data和name文件夹清空,[通俗易懂]

    出现namenode不能启动的情况,就把hadoop安装目录下的hadoop目录下的data和name文件夹清空,[通俗易懂]出现namenode不能启动的情况,就把hadoop安装目录下的hadoop目录下的data和name文件夹清空,

    2022年4月23日
    55
  • 关于CPLD与FPGA的对比分析

    关于CPLD与FPGA的对比分析1.PLD/FPGA/CPLDPLD(ProgrammableLogicDevice):可编程逻辑器件,数字集成电路半成品,芯片上按照一定的排列方式集成了大量的门和触发器等基本逻辑元件,使用者按照设计要求运用开发工具将这些片内的元件连接起来,此过程称为编程;FPGA:基于查找表技术,要外挂配置用的EEPROM的PLD产品;由逻辑功能块排列为阵列,并由可编程的内部连线连接…

    2022年6月3日
    39
  • socket粘包解决方案_socket 传输文件

    socket粘包解决方案_socket 传输文件一 .两个简单概念长连接与短连接:1.长连接   Client方与Server方先建立通讯连接,连接建立后不断开, 然后再进行报文发送和接收。2.短连接   Client方与Server每进行一次报文收发交易时才进行通讯连接,交易完毕后立即断开连接。此种方式常用于一点对多点通讯,比如多个Client连接一个Server.二 ….

    2022年8月18日
    9
  • java sortedset用法_java的SortedSet和TreeSet

    java sortedset用法_java的SortedSet和TreeSetTreeSetTreeS 类实现 Set 接口 该接口由 TreeMap 实例支持 此类保证排序后的 set 按照升序排列元素 根据使用的构造方法不同 可能会按照元素的自然顺序进行排序 参见 Comparable 或按照在创建 set 时所提供的比较器进行排序 此实现为基本操作 add remove 和 contains 提供了可保证的 log n 时间开销 注意 如果要正确实现 Set 接口

    2026年3月26日
    3
  • java二维数组输入_java 二维数组的输入输出问题[通俗易懂]

    java二维数组输入_java 二维数组的输入输出问题[通俗易懂]java二维数组的输入输出问题有一个二维数组里面包含了很大的数字。我要把它通过输出流存储在.dat文件中然后在另一个程序中把这些信息读取出来,并且存储在另外一个二维数组中。请问该怎么办?这个数组如下:intmapl[][]={{0,0,0,0,148,149,149,149,149,149,149,149,149,149,178,0,0,0,0,0,…

    2022年5月8日
    123
  • MATLAB自带插值函数

    MATLAB自带插值函数一 interp11 函数简介 MATLAB 中的插值函数为 interp1 其调用格式为 yi interp1 x y xi method 其中 x y 为初始插值点 xi 为给定的插值点 yi 为在被插值点 xi 处的插值结果 method 表示采用的插值方法 MATLAB 提供的插值方法有几种 nearest 是最邻近插值 linear 线性插值 sp

    2025年6月8日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号