js之事件系统

事件系统

use 1 n use EventBus Event EventListener

EventListener:以函数形式表示
Event:事件对象数据,对于不同的事件,包含不同的数据

事件阶段

事件处理程序

DOM0方式为:元素.on<事件名> = 函数,调用是在冒泡阶段

DOM2方式为:使用addEventListener添加事件处理函数,有三个参数

  • 事件名,没有前缀on
  • 事件处理程序
  • 在哪个阶段调用触发:false表示在冒泡阶段,true表示在捕获阶段,默认是在冒泡阶段

事件对象

包含下面一些属性
type:表示事件类型,数据类型为字符串
target:表示事件目标
currentTarget:事件处理程序所在的元素
eventPhase:表示事件阶段,1表示捕获阶段,2表示到达目标,3表示冒泡阶段

其支持的事件有

用户界面事件UIEvent


load:表示window页面加载完;frameset中的frame加载完;img图片加载完;object元素加载完
unload:从一页面到另一页面时触发,其支持的情况有

  • window页面完全缷载
  • object上对象缷载完成后

abort:表示在加载过程中用户中止
error:在下面情况时触发

  • window上js报错时
  • img无法加载图片时
  • object上无法加载相应对象
  • frameset上frame无法加载时

select:文本框(input,textArea)中用户选择了字符时
resize:window,frame窗口缩放时
scroll:有滚动条元素时,用户滚动时触发

焦点事件FocusEvent


focus,blur:为不冒泡版的获取焦点,失去焦点事件,是通用版
focusIn, focusOut:为冒泡版的获取焦点,失去焦点事件,是通用版
DOMFocusIn, DOMFocusOut:为特定浏览器支持的获取焦点,失去信息事件,不是通用版的

相关推荐
JYeontu13 小时前
开箱流水加载动画
前端·javascript·css
尽欢i13 小时前
Vue3 customRef 封神教程:防抖、本地存储、自动埋点一套搞定,模板干干净净
前端·javascript·vue.js
VOLUN13 小时前
TypeScript封装通用RESTful BaseAPI,后台接口代码精简80%
前端·javascript
橘子星14 小时前
基于 Vite 的多模态生图前端工程实践
前端·javascript·人工智能
用户8524950718414 小时前
Canvas 和 ECharts:一个蓝色方块引发的血案
javascript·人工智能
Cc_Debugger14 小时前
开发环境使用https配置
javascript·vue.js·https
BreezeJiang14 小时前
从一棵树到一亿人:算法世界的"深搜"哲学
javascript
廖磊AI编程15 小时前
AI 编程项目缺少 Bun 时,如何用 BVM 安装和验证运行时
javascript
#麻辣小龙虾#15 小时前
vue3基于leaflet.js实现地图编辑功能
javascript·ecmascript·leaflet.js