javascript - 获取当前环境可用的事件类型

标签 javascript dom events dom-events

我正在构建一个函数,我发现在其中确定字符串是否旨在指定事件类型很有用。 (例如,clickkeypressblur..)目前,我正在将它与我从标准中获取的一组名称进行比较,但出于以下几个原因我不喜欢这个解决方案:

  • 这很丑。包含 167 个项目的硬编码数组看起来非常不优雅。

  • 不同的浏览器环境可能支持不同的事件。我可以为每个浏览器使用不同的(或额外的)列表,但这只会加剧先前的问题,并且维护起来会很糟糕。

  • 我相信,在某些情况下可以动态创建事件。我不可能事先检测到这些。

在这一点上,我的搜索似乎让我失望了,所以我求助于 Stack Overflow 的聪明而慷慨的用户。简而言之,我的问题是:

如何在运行时获取当前识别的事件类型的列表?

最佳答案

Object.keys(HTMLElement.prototype).filter(function(k) { return /^on/.test(k); });

关于javascript - 获取当前环境可用的事件类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36254122/

相关文章:

javascript - 避免在 React Flux 应用程序中重新呈现受控输入

javascript - 如何在 jQuery/JavaScript 中正确插入 PHP 变量?

mysql - 如何从 MySQL Workbench 异步运行查询

javascript - 单击 Bootstrap 之外的任意位置时关闭 Bootstrap 确认

php - 寻找 Ajax 或 PHP 技巧来检测它们是否有 Javascript

JavaScript DOM childNodes.length 也返回文本节点的数量

javascript - 如果我想使用 RequireJS,我真的需要更改我的 document.ready 部分吗?

html - 为什么标记中跨度的 dom TreeView 损坏?

javascript - Jquery 淡入/淡出内容

Angular:event.srcElement 没有指向预期的元素