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:为特定浏览器支持的获取焦点,失去信息事件,不是通用版的

相关推荐
pusheng202516 小时前
普晟传感2026年新春年会总结与分析
前端·javascript·html
谢尔登16 小时前
React19事件调度的设计思路
前端·javascript·react.js
2301_7965125216 小时前
【精通篇】打造React Native鸿蒙跨平台开发高级复合组件库开发系列:Lazyload 懒加载(懒加载的图片)
前端·javascript·react native·react.js·ecmascript·harmonyos
敲敲了个代码16 小时前
从N倍人力到1次修改:Vite Plugin Modular 如何拯救多产品前端维护困境
前端·javascript·面试·职场和发展·typescript·vite
摘星编程16 小时前
OpenHarmony环境下React Native:Timeline时间轴组件
javascript·react native·react.js
摘星编程16 小时前
在OpenHarmony上用React Native:Timeline水平时间轴
javascript·react native·react.js
bigdata-rookie17 小时前
Starrocks 数据模型
java·前端·javascript
web打印社区17 小时前
前端实现浏览器预览打印:从原生方案到专业工具
前端·javascript·vue.js·electron
yuezhilangniao17 小时前
# 告别乱码:用FastAPI特性与Next.js打造类型安全的API通信
javascript·安全·fastapi
徐同保17 小时前
vue.config.ts配置代理解决跨域,配置开发环境开启source-map
前端·javascript·vue.js