目录
1 常用事件总结
1.1 鼠标事件
1.2 键盘事件
1.3 文档事件
1.4 表单事件
1.5 图片事件
1.6 其他事件
2 Event 对象
2.1 获取 Event 对象
2.2 鼠标事件对象 MouseEvent 的属性和方法
2.3 键盘事件对象 KeyBorardEvent 的属性和方法
2.4 所有类型的事件对象都有的属性和方法
2.5 阻止事件冒泡
2.6 浏览器的默认行为
① 浏览器有哪些默认行为
② 阻止浏览器默认行为
3 事件委托
首页 web前端 js教程 JavaScript DOM 常用事件最新总结!

JavaScript DOM 常用事件最新总结!

Aug 07, 2022 am 11:05 AM
javascript dom

本文给大家总结了JS DOM的常用事件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

1 常用事件总结

1.1 鼠标事件

click			单击
dblclick		双击
contextmenu		右击
mouseover		鼠标悬停在元素上, 建议用 mouseenter 代替
mouseout		鼠标离开元素,建议用 mouseleave 代替
mouseenter		鼠标悬停在元素上
mouseleave		鼠标离开元素
mousedown		鼠标按键按下
mouseup		    鼠标按键抬起
mousemove		鼠标移动
登录后复制

1.2 键盘事件

keydown		键盘按键按下
keyup		键盘按键抬起
keypress	键盘按键按下,用于可输入字符按键
登录后复制

1. 哪些元素可以监听键盘事件?

① document

② 可以获取焦点的元素(表单控件,尤其是可输入的元素)

2. keydown 和 keypress 的区别?

① keydown 所有的按键按下都可以触发,无法区分大小写按键。

② keypress 只有可输入字符按键按下才可以触发,可以区分大小写按键。

3. 如何获取按下的是哪个按键?

使用 event 对象中的属性:

  • evnet.keyCode 获取按键对应的 ascii 值

  • event.which 同 keyCode

  • event.key 获取按键的字符值。

1.3 文档事件

load				页面中所有的一切加载完毕就会触发,可以监听到window上或者body元素
DOMContentLoaded	页面中所有的元素加载完毕就会触发,可以监听在window或者document上, 只能使用 						addEventListener 监听事件
beforeunload		当关闭网页的时候触发
登录后复制

load 事件与 DOMContentLoaded 事件的区别:

① load 事件是页面中所有的一切加载完毕才能触发,包括元素以及外部资源。

② DOMContentLoaded 事件是页面中所有的元素加载完毕就可以触发,不包括外部资源。

1.4 表单事件

submit		当表单提交的时候触发,该事件监听到form元素	
reset		当表单重置的时候触发,该事件监听到form元素
focus		当表单控件获取焦点的时候触发
blur		当表控件单失去焦点的时候触发
select		输入框或文本域中的内容被选中
change		对于输入框,内容改变且失去焦点才会触发;适合用于select
登录后复制

1.5 图片事件

load		图片文件下载完毕
error		图片加载失败
登录后复制

1.6 其他事件

resize		监听到 window上,视口大小发生改变
scroll		监听到window或者是具有滚动体的元素,页面或元素中的内容发生滚动就触发。
登录后复制

2 Event 对象

2.1 获取 Event 对象

给事件的回调函数设置第一个形参,就可以获取 event 对象。

不同类型的事件获取的 Event 对象类型也不同。

2.2 鼠标事件对象 MouseEvent 的属性和方法

offsetX / offsetY		获取鼠标在目标元素上的坐标位置
clientX / clientY		获取鼠标在视口上的坐标位置
pageX / pageY			获取鼠标在页面上的坐标位置
screenX / screenY       获取鼠标在屏幕上的坐标位置
button					获取按的是哪个鼠标按键, 0:左键; 1:中间键; 2:右键
登录后复制

2.3 键盘事件对象 KeyBorardEvent 的属性和方法

keyCode		获取按键对应的编码值
which		同 keyCode
key			获取按键对应的字符值
登录后复制

2.4 所有类型的事件对象都有的属性和方法

type				获取事件名
timeStamp			获取触发事件时距离打开页面时的毫秒数
target				获取目标元素
stopPropagation()	阻止事件冒泡
preventDefault()	阻止浏览器默认行为
登录后复制

2.5 阻止事件冒泡

在事件的回调函数中执行 event.stopPropagation(),就可以阻止冒泡。

2.6 浏览器的默认行为

① 浏览器有哪些默认行为

超链接点击跳转
表单的提交和重置
右键弹出系统菜单
等...
登录后复制

② 阻止浏览器默认行为

在事件的回调函数中调用 event.preventDefault() 即可阻止默认行为。

注意: 如果使用第二种方式监听事件,在回调函数中 return false 同样可以阻止默认行为。

3 事件委托

事件监听到祖先元素上,判断目标元素,如果目标元素满足条件,就执行相关操作。

事件委托的优势:

  • 对于给大量的元素监听相同的事件,使用事件委托比遍历挨个监听效率更好。

  • 利用事件委托可以让新增的元素也可以响应事件。

相关推荐:【JavaScript视频教程

以上是JavaScript DOM 常用事件最新总结!的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何使用WebSocket和JavaScript实现在线语音识别系统 如何使用WebSocket和JavaScript实现在线语音识别系统 Dec 17, 2023 pm 02:54 PM

如何使用WebSocket和JavaScript实现在线语音识别系统引言:随着科技的不断发展,语音识别技术已经成为了人工智能领域的重要组成部分。而基于WebSocket和JavaScript实现的在线语音识别系统,具备了低延迟、实时性和跨平台的特点,成为了一种被广泛应用的解决方案。本文将介绍如何使用WebSocket和JavaScript来实现在线语音识别系

WebSocket与JavaScript:实现实时监控系统的关键技术 WebSocket与JavaScript:实现实时监控系统的关键技术 Dec 17, 2023 pm 05:30 PM

WebSocket与JavaScript:实现实时监控系统的关键技术引言:随着互联网技术的快速发展,实时监控系统在各个领域中得到了广泛的应用。而实现实时监控的关键技术之一就是WebSocket与JavaScript的结合使用。本文将介绍WebSocket与JavaScript在实时监控系统中的应用,并给出代码示例,详细解释其实现原理。一、WebSocket技

如何利用JavaScript和WebSocket实现实时在线点餐系统 如何利用JavaScript和WebSocket实现实时在线点餐系统 Dec 17, 2023 pm 12:09 PM

如何利用JavaScript和WebSocket实现实时在线点餐系统介绍:随着互联网的普及和技术的进步,越来越多的餐厅开始提供在线点餐服务。为了实现实时在线点餐系统,我们可以利用JavaScript和WebSocket技术。WebSocket是一种基于TCP协议的全双工通信协议,可以实现客户端与服务器的实时双向通信。在实时在线点餐系统中,当用户选择菜品并下单

如何使用WebSocket和JavaScript实现在线预约系统 如何使用WebSocket和JavaScript实现在线预约系统 Dec 17, 2023 am 09:39 AM

如何使用WebSocket和JavaScript实现在线预约系统在当今数字化的时代,越来越多的业务和服务都需要提供在线预约功能。而实现一个高效、实时的在线预约系统是至关重要的。本文将介绍如何使用WebSocket和JavaScript来实现一个在线预约系统,并提供具体的代码示例。一、什么是WebSocketWebSocket是一种在单个TCP连接上进行全双工

JavaScript和WebSocket:打造高效的实时天气预报系统 JavaScript和WebSocket:打造高效的实时天气预报系统 Dec 17, 2023 pm 05:13 PM

JavaScript和WebSocket:打造高效的实时天气预报系统引言:如今,天气预报的准确性对于日常生活以及决策制定具有重要意义。随着技术的发展,我们可以通过实时获取天气数据来提供更准确可靠的天气预报。在本文中,我们将学习如何使用JavaScript和WebSocket技术,来构建一个高效的实时天气预报系统。本文将通过具体的代码示例来展示实现的过程。We

简易JavaScript教程:获取HTTP状态码的方法 简易JavaScript教程:获取HTTP状态码的方法 Jan 05, 2024 pm 06:08 PM

JavaScript教程:如何获取HTTP状态码,需要具体代码示例前言:在Web开发中,经常会涉及到与服务器进行数据交互的场景。在与服务器进行通信时,我们经常需要获取返回的HTTP状态码来判断操作是否成功,根据不同的状态码来进行相应的处理。本篇文章将教你如何使用JavaScript获取HTTP状态码,并提供一些实用的代码示例。使用XMLHttpRequest

javascript中如何使用insertBefore javascript中如何使用insertBefore Nov 24, 2023 am 11:56 AM

用法:在JavaScript中,insertBefore()方法用于在DOM树中插入一个新的节点。这个方法需要两个参数:要插入的新节点和参考节点(即新节点将要被插入的位置的节点)。

JavaScript和WebSocket:打造高效的实时图像处理系统 JavaScript和WebSocket:打造高效的实时图像处理系统 Dec 17, 2023 am 08:41 AM

JavaScript是一种广泛应用于Web开发的编程语言,而WebSocket则是一种用于实时通信的网络协议。结合二者的强大功能,我们可以打造一个高效的实时图像处理系统。本文将介绍如何利用JavaScript和WebSocket来实现这个系统,并提供具体的代码示例。首先,我们需要明确实时图像处理系统的需求和目标。假设我们有一个摄像头设备,可以采集实时的图像数

See all articles