我正在构建一个函数,我发现在其中确定字符串是否旨在指定事件类型很有用。 (例如,click
、keypress
、blur
..)目前,我正在将它与我从标准中获取的一组名称进行比较,但出于以下几个原因我不喜欢这个解决方案:
这很丑。包含 167 个项目的硬编码数组看起来非常不优雅。
不同的浏览器环境可能支持不同的事件。我可以为每个浏览器使用不同的(或额外的)列表,但这只会加剧先前的问题,并且维护起来会很糟糕。
我相信,在某些情况下可以动态创建事件。我不可能事先检测到这些。
在这一点上,我的搜索似乎让我失望了,所以我求助于 Stack Overflow 的聪明而慷慨的用户。简而言之,我的问题是:
如何在运行时获取当前识别的事件类型的列表?
最佳答案
Object.keys(HTMLElement.prototype).filter(function(k) { return /^on/.test(k); });
关于javascript - 获取当前环境可用的事件类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36254122/