如何列出html元素的所有事件?

问题描述 投票:0回答:3

我正在寻找一种方法来列出 Javascript 中的所有事件以进行动态事件创建。或者,一种检查字符串是否是正确的事件名称的方法。

javascript events
3个回答
2
投票

不同的事件对不同的节点有效。

const elements = [
  'a',
  'window',
];

elements.forEach(elementName => {
  const el = document.createElement(elementName);
  console.log(`======= Events for ${elementName}:`);
  for (var prop in el) {
    if (prop.startsWith('on')) {
      console.log(prop);
    }
  }
});


0
投票

如果 Chrome 适合您,您可以使用其开发者工具。

  • F12 打开开发工具

  • Elements 选项卡中单击要检查的元素。

  • 单击Styles选项卡附近的Event Listeners选项卡

您将在此处看到附加到您的元素的每个事件处理程序及其在代码中的引用。


0
投票

对于来自 Google 的任何人,想知道 JavaScript 中是否有所有事件的列表,虽然该列表因供应商和元素而异,但如果您只想监听尽可能多的事件,可以使用以下列表无需致电即可实现

monitorEvents
:

[ '错误', '中止', '加载', '卸载前', '卸下', '在线的', '离线', '重点', '模糊', '集中注意力', '聚焦', '打开', '信息', '关闭', '页面隐藏', '页面显示', '流行状态', '动画开始', '动画取消', '动画结束', '动画迭代', '过渡开始', '过渡取消', '过渡结束', '过渡运行', '重置', '提交', '印前', '后印', '组合开始', '成分更新', '组合结束', '全屏更改', '全屏错误', '调整大小', '滚动', '切', '复制', '粘贴', '按键', '按键', '按键', '辅助点击', '点击', '上下文菜单', '双击', '鼠标按下', '鼠标输入', '鼠标离开', '鼠标移动', '鼠标悬停', '鼠标移开', '鼠标向上', '指针锁变化', '指针锁定错误', '选择', '车轮', '拖', '龙', '龙人', '拖启动', '拖走', '拖拉', '降低', '音频处理', '可以玩', '可以玩通关', '完全的', '持续时间变化', ‘清空’, '结束', '加载数据', '加载元数据', '暂停', '玩', ‘玩’, '利率变化', ‘寻求’, ‘寻求’, ‘停滞不前’, '暂停', '时间更新', '体积变化', '等待', '负载', '加载开始', '进步', '暂停', '改变', '贮存', '检查', '下载', '不更新', '过时的', '更新准备', '播送', '复选框状态更改', '哈希变化', '输入', '无线电状态改变', '准备状态改变', '值变化', '无效的', '展示', 'vr显示激活', 'vr显示模糊', 'vr显示连接', 'vr显示停用', 'vr显示断开连接', 'vr显示焦点', 'vr显示当前更改', 'SVGAbort', 'SVG错误', 'SVG加载', 'SVG调整大小', 'SVG滚动', 'SVG卸载', 'SVGZoom', '被阻止', '成功', '需要升级', '版本更改', '脚本执行后', '在脚本执行之前', 'DOMMenuItemActive', 'DOMMenuItemInactive', '弹出隐藏', '弹出隐藏', '弹出显示', '弹出窗口显示', '可见性变化', '充电变化', '充电时间改变', '放电时间变化', '水平变化', ‘警报’, '忙碌的', '通话已更改', 'cfstatechange', '已连接', '连接', '拨号', '断开连接', '断开连接', '握住', '保持', '传入', '恢复', '状态改变', '变声', '罗盘需要校准', '设备运动', '设备方向', '方向改变', 'ICC卡锁错误', 'iccinfochange', '智能卡插入', '智能卡删除', 'stk命令', 'stk会话结束', '卡状态改变', '发表', '已收到', '发送', 'ussd收到', 'mozbrowserclose', 'moz浏览器上下文菜单', 'moz浏览器错误', 'mozbrowsericonchange', 'moz浏览器位置更改', 'mozbrowserloadend', 'mozbrowserloadstart', 'mozbrowser打开窗口', 'mozbrowsersecuritychange', 'mozbrowsershowmodalprompt', 'mozbrowsertitlechange', 'DOM属性名称更改', 'DOMAttr修改', 'DOM内容已加载', 'DOMElementNameChanged', '触摸取消', '触摸结束', '触摸移动', '触摸开始', '指针悬停', '指针输入器', '指针向下', '指针移动', '指针向上', '指针取消', '指针', '指针离开', '得到指针捕获', '丢失指针捕获', '开始事件', '边界', '设备更改', '语言改变', '标记', '消息错误', '鼠标按下', '不匹配', '通知点击', '内容可编辑', '负载', '标记', '选择开始', '选择改变', '插槽变化', '声音结束', '声音开始', '演讲', '演讲开始', '开始', '资源计时缓冲区已满', '用户邻近度', ‘声音变了’, 'msContentZoom', 'MSManipulationStateChanged', 'MSPointerHover', '命令', '命令更新', '通知', ]

取自:https://gist.githubusercontent.com/sebbekarlsson/0499ccc76f85f4372a4105991ffa8258/raw/addf6e83b7a9c866dc49e 7499 893246583f4d957c650/javascript-events.json

© www.soinside.com 2019 - 2024. All rights reserved.