我如何获得所有GlobaleVentHandlers的列表



https://developer.mozilla.org/en-us/docs/web/api/globaleventhandlers

如何获得GlobaleventHandlers的所有属性的列表?

具体来说,我想测试一个传递的字符串是否是GlobaleventHandlers的属性,类似于:

console.log(GlobalEventHandlers.includes('onClick')); // true
console.log(GlobalEventHandlers.includes('fizzBuzz')); // false

获取所有这些的唯一真实方法是自己构建列表,但是您可以循环循环窗口对象中的键,并寻找以on

开头的键
Object.keys(window).filter(k => !k.indexOf('on'))

但这不会仅返回内置的内置。如果有人设置自定义事件侦听器,例如

window.onfoobar = function () {}

也将在结果中显示。

我写了一个为您完成的NPM软件包。

完整的用法和安装:全球事件手柄映射。

它在window下存在的每个对象(包括window(下提取每个全局事件处理程序。

例如,通过致电:

const getGlobalEventsHandlersMap = require('global-event-handlers-map');
const gehsMap = getGlobalEventsHandlersMap('WebSocket');

您将获得以下结果(gehsMap将是(:

{
  "WebSocket": [
    "onopen",
    "onerror",
    "onclose",
    "onmessage"
  ]
}

通过无参数调用getGlobalEventsHandlersMap(),您将收到所有全局事件处理程序。

readme文件应该非常有指示性,并应帮助您了解如何从该软件包中获取所需的一切。

您可以:

  1. 在浏览器中执行代码,获取结果,并在代码中静态地使用该映射。

  2. 在代码在浏览器中运行时,将库集成在您的代码中。

最好的方法取决于您的需求,应该是您的电话。我可以帮助您了解哪种方式最适合您的方式取决于您的需求。

希望有帮助!

相关内容

  • 没有找到相关文章

最新更新