首页 > 其他分享 >JS进阶DAY3|事件(一)事件监听及事件类型

JS进阶DAY3|事件(一)事件监听及事件类型

时间:2024-12-08 22:32:14浏览次数:5  
标签:触发 进阶 元素 DAY3 当鼠标 事件 监听器 DOM0

目录

一、事件监听方式(绑定)

1.1 DOM0级事件

1.2  DOM2级事件

1.3 区别

二、事件类型

2.1 鼠标事件

2.2 键盘事件

2.3 焦点事件

2.4 表单事件

2.5 加载和卸载事件

2.6 滚动事件

2.7 触摸事件(在支持触摸的设备上)


一、事件监听方式(绑定)

1.1 DOM0级事件

 直接将函数赋值给DOM元素的事件属性。

const btn = document.getElementById('myButton');

btn.onclick = handleClick;

1.2  DOM2级事件

使用 addEventListener 方法来添加事件监听器。

const btn = document.getElementById('myButton');

btn.addEventListener('click', handleClick);

1.3 区别

  • 监听器数量
  1. DOM0级事件:每个事件只能有一个监听器。
  2. addEventListener :可以为同一事件添加多个监听器。
  • 移除监听器:
  1. DOM0级事件:移除监听器不方便,且不总是可靠。 
  2. addEventListener :可以方便地通过 removeEventListener 移除监听器。
  • 事件阶段:
  1. DOM0级事件:仅在事件冒泡阶段触发。
  2.  addEventListener :可以选择在捕获或冒泡阶段触发。

二、事件类型

2.1 鼠标事件

 click :当元素被点击时触发。

 dblclick :当元素被双击时触发。

 mousedown :当鼠标按钮被按下时触发。

 mouseup :当鼠标按钮被释放时触发。

 mouseover :当鼠标指针移动到元素上时触发。

 mouseout :当鼠标指针移出元素时触发。

 mousemove :当鼠标指针在元素上移动时触发。

 mouseenter :当鼠标指针进入元素边界时触发。

 mouseleave :当鼠标指针离开元素边界时触发。

2.2 键盘事件

 keydown :当键盘上的任何键被按下时触发。

 keyup :当键盘上的任何键被释放时触发。

 keypress :当用户按下字符键时触发(在 keydown 和 keyup 之间)。

2.3 焦点事件

 focus :当元素获得焦点时触发。

 blur :当元素失去焦点时触发。

 focusin :当元素即将获得焦点时触发。

 focusout :当元素即将失去焦点时触发。

2.4 表单事件

 submit :当表单被提交时触发。

 reset :当表单被重置时触发。

 change :当元素的值发生变化时触发(对于 <input> 、 <select> 和 <textarea> 元素)。

 input :当 <input> 、 <select> 和 <textarea> 元素的值实时发生变化时触发。

2.5 加载和卸载事件

 load :当页面或元素加载完成时触发。

 unload :当页面或元素卸载时触发。

 DOMContentLoaded :当DOM加载完成,不等待样式表、图像和框架完成加载时触发。

2.6 滚动事件

 scroll :当元素滚动时触发。

2.7 触摸事件(在支持触摸的设备上)

 touchstart :当手指触摸屏幕时触发。

 touchend :当手指离开屏幕时触发。

 touchmove :当手指在屏幕上移动时触发。

 touchcancel :当触摸操作被中断时触发。

标签:触发,进阶,元素,DAY3,当鼠标,事件,监听器,DOM0
From: https://blog.csdn.net/2301_80743865/article/details/144331327

相关文章

  • #渗透测试#红蓝对抗#SRC漏洞挖掘# Yakit(5)进阶模式-MITM中间人代理与劫持(下)
    免责声明本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停止本文章阅读。目录 Yakit(5)进阶模式-MITM中间人代理与劫持(下)History......
  • 010editor解决ctfshow misc入门 进阶版
    misc27打开题目可以看到提示我们,flag在下面,那么就知道这里一定是更改了jpg图片的宽高,但手上没有很好的工具能够爆破jpg格式的宽高,那么就需要我们手动在010editor里面进行更改当我们把图片放入010中,发现并不是按以往的正常格式排列信息我们发现在文件头之间插入了许多没用的......
  • Java 进阶指南
    Java作为一种广泛应用的编程语言,在掌握了基础语法和面向对象概念后,进阶学习将帮助开发者构建更强大、高效和可维护的应用程序。一、多线程编程多线程允许程序在同一时间内执行多个任务,提高程序的运行效率和响应性。在Java中,通过Thread类或实现Runnable接口来创建线程......
  • Python+vue校园事件新闻通知后台管理系统
    文章目录项目介绍具体实现截图开发技术设计思路开发与测试:核心代码部分展示文章目录/协作提纲源码/演示视频获取方式项目介绍本选题宗旨在通过标签分类管理等方式,实现管理员:首页、个人中心、院校管理、用户管理、单位类别管理、院校管理员管理、单位管理、通知推送......
  • 日志的进阶
    '''日志的进阶使用:logging库的四大组件,实现日志的记录与输出:1.logger记录器:提供基本的能够被程序直接调用的接口(方法)2.handler处理器:提供将记录器的内容展示到具体目的地的用途,控制台或文件3.filter过滤器:提供更加细化颗粒度的内容控制4.formatter格式......
  • 【架构师从入门到进阶】第四章:前端优化思路——第一节:前端优化概述
    【架构师从入门到进阶】第四章:前端优化思路——第一节:前端优化概述减少不必要的传输该前置的前置该缓存的缓存本篇文章我们来学习前端优化的概述。为什么开始学前端呢?大家思考一下,我们在之前的文章中写过这么一段话。我们优化的点是从用户使用我们系统开始,直到我们响......
  • CEF 渲染进程与主进程的消息传递与事件管理
    在开发基于CEF(ChromiumEmbeddedFramework)的应用时,如何高效地处理渲染进程和主进程之间的消息传递与事件管理是至关重要的。由于CEF本身采用了多进程架构,浏览器的渲染进程、主进程以及其他可能的进程(如扩展进程、插件进程等)需要进行频繁的数据交换与通信。这一过程中,合......
  • scroll事件初步实现个人主页下拉回弹功能
    #创作灵感    这是我写移动版抖音时遇到的难题:如何实现个人主页的下拉回弹动画?起初以为是顺手的事,没想到大有讲究,下拉时背景区域会跟随并放大背景图片,松手时回弹到初始状态,大幅上滑时会在尽头触发动画。基本逻辑    下拉时多出的部分从哪来?让他一开始便存......
  • 程序员基本进阶技能之精准汇报
    一个程序员的职业生涯中,永远都逃不开“工作汇报”这四个字。升职加薪的时候,需要参加王婆卖瓜的PPT大赛进行工作述职汇报;评定年终绩效和年终奖系数的时候,需要天花乱坠地进行年终总结汇报;每个季度末尾OKR总结的时候,需要提纲挈领地进行OKR进度汇报;每周周末之前,需要简洁高效的进行......
  • Android——Click事件实现方式
    Android观察者模式(ObserverDesignPattern):在对象之间定义⼀个⼀对多的依赖,当⼀个对象状态改变的时候,所有依赖的对象都会得到通知并⾃动更新。说⼈话:也叫发布订阅模式,能够很好的解耦一个对象改变,⾃动改变另⼀个对象这种情况。①、Subject被观察者定义被观察者必......