博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JS高级学习笔记(5)之 事件
阅读量:4936 次
发布时间:2019-06-11

本文共 1871 字,大约阅读时间需要 6 分钟。

参考:https://www.cnblogs.com/lhyxq/tag/Javascript/

 

UI事件

当用户与页面元素交互时触发

  • DOMActivate:表示元素已经被用户操作激活,该事件在DOM3规范中被废弃,因此不建议使用

  • load:当页面完全加载后在window对象上触发,图像加载完毕在 img 标签触发,嵌入内容加载完毕在 object 元素触发

  • unload:页面完全卸载后在 window 对象触发,框架卸载完成在框架集上触发,嵌入内容卸载完成在 object 元素触发

  • abort:在用户停止下载时,若嵌入内容没有加载完则在 object 元素触发

  • error:JS发生错误时在 window 上触发,无法加载图像在 img 元素触发 ,无法加载嵌入内容在 object 内容触发

  • select:用户选中文本框(input、texterea)的一个或多个字符时触发

  • resize:当窗口或框架的大小发生变化时触发

  • scroll:用户滚动带滚动条的内容时触发

 

焦点事件

当元素失去或获得焦点时触发

焦点事件会在页面元素获得或者失去焦点时触发,利用焦点事件和 document.hasFocus() 方法配合使用

以及 document.activeElement 属性配合可以知晓用户在页面上的行踪

 

焦点事件有以下6种:

  • blur:在元素失去焦点时触发,该事件不会冒泡

  • DOMFocusIn:在元素获得焦点时触发,该事件与HTML事件 focus等价 ,但是该事件会冒泡,DOM3级规范废弃了该事件。选择了 focusin 作为实现

  • DOMFocusOut:元素失去焦点触发,也会冒泡。DOM3级废弃该事件选择了 focusout 作为实现

  • focus:元素获得焦点触发,该事件不会冒泡

  • focusin:与focus等价支持冒泡

  • focusout:与blur等价支持冒泡

 

所以当焦点从一个元素移到另一个元素会依次触发以下事件:

  1. focusout 失去焦点的元素触发

  2. focusin 获得焦点的元素触发

  3. blur 失去焦点的元素触发

  4. DOMFocusOut 失去焦点元素触发

  5. focus 获得焦点元素触发

  6. DOMFocusIn 获得焦点元素触发

要确定浏览器是否支持以上事件:

var isSupported = document.implementation.hasFeature("FocusEvent","3.0");

 

鼠标与滚轮事件

鼠标事件是web开发中最常用的一类事件,毕竟鼠标是最主要的定位设备

  • click:在用户单击主鼠标按钮(一般为鼠标左键)或者按下回车时触发,这一点对确保易访问性十分重要,这意味着 onclick 事件处理程序既可以通过键盘执行也可以通过鼠标执行

  • dbclick:在用户双击主鼠标按钮时触发(鼠标左键)。从技术上说该事件并不是DOM2级规范所支持的,但是由于浏览器对其的广泛实现在DOM3级规范中将其纳入标准

  • mousedown:用户按下任意鼠标按钮触发,不能通过键盘触发

  • mouseenter:鼠标光标从元素外部移入元素内部时触发,该事件不冒泡,并且在光标从元素移入元素子元素时不会触发

  • mouseleave:光标从元素上方移出元素范围时触发,该事件不冒泡,移入后代元素不会触发

  • mousemove:鼠标指针在元素内部移动时重复触发,不能通过键盘触发该事件

  • mouseout:鼠标位于元素上方,此时将鼠标移至另一个元素触发,其子元素也会触发,不能通过键盘触发该事件

  • mouseover:鼠标位于元素外部,首次移入元素范围内触发,其子元素也会触发,不能通过键盘触发该事件

  • mouseup:用户释放鼠标按钮时触发,不能通过键盘触发

 

 

  • 文本事件 当在文档中输入文本时触发

  • 键盘事件 当用户通过键盘在页面执行操作时触发

  • 合成事件 当为IME(输入法编辑器)输入字符时触发

  • 变动事件 当底层DOM结构发生变化时触发

 

键盘事件

  • keydown:按键时触发,按住不放会重复触发

  • keypress:按下键盘上的字符键触发,按住不放重复触发(按下ESC键也会触发)

  • keyup:释放按键触发

 

表单事件

  • blur:当前字段失去焦点时触发

  • change:对于 input、textarea 元素,当其失去焦点且value值被改变时触发,对于select元素改变选项时触发

  • focus:当前字段获得焦点时触发

转载于:https://www.cnblogs.com/houfee/p/10469092.html

你可能感兴趣的文章
They Are Everywhere
查看>>
数据结构--汉诺塔递归Java实现
查看>>
day14 多态与抽象
查看>>
Eclipse CDT 出现 launch failed Binary not found
查看>>
apache jmeter
查看>>
Linux 基本命令
查看>>
RedHat7.0 网络源的配置
查看>>
(Mark)JS中关于闭包
查看>>
流程结构图
查看>>
ios端web app在键盘升起后缩小view防止界面仍可上下滑动
查看>>
从service弹出系统级自定义提示框,可在任意页面弹出
查看>>
Bootstrap简单介绍
查看>>
字典序最小问题
查看>>
iOS Touch ID 身份认证
查看>>
springboot 注解笔记
查看>>
图解HTTP---------------------------------------4
查看>>
hibernate实体类配置文件问题(字段使用默认值)
查看>>
rsync+inotify脚本
查看>>
LeetCode 860.柠檬水找零(C++)
查看>>
文件上传
查看>>