js-DOM事件

1、介绍

事件,也可以说是信号,绑定到js代码。当事件发生时,对应的js代码将被执行。

HTML DOM 事件对象 | 菜鸟教程 (runoob.com)

2、三种声明方式

(1)在html元素中声明

<button onclick="alert(/xss/)">点击弹窗</button>

(2)js调用属性,赋值为匿名函数

document.getElementById('c').onclick=function(){
alert('abc')
}	

(3)js通过事件名称绑定匿名函数

document.getElementById('c').addEventListener('click',function(){
alert('abcd')
})

3、鼠标事件

鼠标事件需要鼠标与声明事件的元素进行交互,进出或在该元素区域内操作。如果是声明元素区域外,则不影响。

  • onclick 点击触发
  • oncontextmenu 点击鼠标右键打开上下文菜单时触发
  • ondblclick 双击触发
  • onmousedown 鼠标按下触发
  • onmouseenter 鼠标指针移动到元素上时触发
  • onmouseleave 鼠标移出元素时触发
  • onmousemouve 鼠标移动时触发
  • onmouseover 鼠标移到元素上时触发
  • onmouseout 鼠标移出元素时触发
  • onmouseup 鼠标松开时触发

4、键盘事件

  • onkeydown 某键盘按键按下
  • onkeypress 某键盘按键被按下并松开
  • onkeyup 某键盘按键被松开

5、框架事件

  • onabort 图像的加载被中断触发
  • onbeforeunload 即将离开页面(刷新或关闭)时触发
  • onerror 加载文档或图像错误时触发
  • onhashchange 当前url的锚部分发送修改时触发,即#后的部分
  • onload 文档或图像加载完成时触发
  • onpageshow 用户访问页面时触发
  • onpagehide 用户离开当前页面跳转另一个页面时触发
  • onresize 窗口或框架重新调整大小时触发
  • onscroll 文档被滚动时触发
  • onunload 用户退出页面时触发

6、表单事件

  • onblur 元素失去焦点时触发
  • onchange 表单内容发生改变时触发
  • onfocus 元素获取焦点时触发
  • onfocusin 元素即将获取焦点时触发
  • onfocusout 元素即将失去焦点时触发
  • oninput 元素获取用户输入时触发
  • onreset 表单重置时触发
  • onsearch 向搜索框input type=search输入文本时触发
  • onsubmit 表单提交时触发

7、剪切板事件

  • oncopy 拷贝元素内容时触发
  • oncut 剪切元素内容时触发
  • onpaste 在元素中粘贴内容时触发

8、打印事件

  • onafterprint 已经开始打印或者打印窗口已经关闭时触发
  • onbeforeprint 在页面即将开始打印时触发

9、拖动事件

  • ondrag 元素正在被拖动时触发
  • ondragend 完成元素拖动时触发
  • ondragenter 拖动的元素进行放置目标时触发
  • ondragleave 拖动元素离开放置目标时触发
  • ondragover 拖动元素在放置目标上时触发
  • ondragstart 开始拖动元素时触发
  • ondrop 拖动元素放置在目标区域时触发

10、多媒体事件

适用于audio、video标签

  • onabort 在视频/音频终止加载时触发
  • oncanplay 可以开始播放视频/音频时触发
  • oncanplaythrough 视频/音频可以正常播放且无需停顿和缓冲时触发
  • ondurationchange 视频/音频的时长发生变化时触发
  • onemptied 当前播放列表为空时触发
  • onended 视频/音频播放结束时触发
  • onerror 视频/音频数据加载期间发生错误时触发
  • onloadeddata 浏览器加载音视频当前帧时触发
  • onloadedmetadata 在指定音视频的元数据加载后触发
  • onloadstart 浏览器开始寻找指定音视频时触发
  • onpause 暂停时触发
  • onplay 开始播放时触发
  • onplaying 音视频暂停或者在缓冲后准备重新开始播放时触发
  • onprogress 浏览器下载指定的音视频时触发
  • onratechange 播放速度发生变化时触发
  • onseeked 用户重新定位音视频的播放位置后触发
  • onseeking 用户正则重新定位音视频的播放位置时触发
  • onstalled 浏览器获取媒体数据,但媒体数据不可用时触发
  • onsuspend 浏览器读取媒体数据中止时触发
  • ontimeupdate 当前的播放位置发生改变时触发
  • onvolumechange 音量发生改变时触发
  • onwaiting 由于要播放下一帧而需要缓冲时触发

11、动画事件

  • animationend 在css动画播放结束时触发
  • animationiteration 在css动画重复播放时触发
  • animationstart 在css动画开始播放时触发

12、过渡事件

  • transitionend 在css完成过渡后触发

13、其他事件

  • onmessage 通过对象接收到消息时触发,多用于websocket对象
  • ononline 浏览器开始在线工作时触发
  • onoffline 浏览器开始离线工作时触发
  • onpopstate 窗口的浏览历史(history对象)发生改变时触发
  • onshow 当menu元素在上下文菜单显示时触发
  • onstorage 当web storage更新时触发
  • ontoggle 用户打开或关闭details元素时触发
  • onwheel 鼠标滚轮在元素上下滚动时触发
posted @ 2023-04-20 09:27  挖洞404  阅读(45)  评论(0编辑  收藏  举报