如何处理“DOM已准备好”函数的无全局事件侦听器警告?

时间:2021-05-01 作者:jost21

最近我开始使用ESlint插件@wordpress/eslint-plugin/recommended 用于开发WP插件。

这个插件可以工作,但linter对它不满意。我宁愿使用vanilla JS而不是jQuery,通常会替换jQuery$.ready() 代码如下:

document.addEventListener(\'readystatechange\', (event) => {
    if (event.target.readyState === \'complete\') {
        ...
    }
});
埃斯林特说:

避免将(add | remove)EventListener与全局变量一起使用。使用ownerDocumentownerDocument.defaultView 而是在节点ref上。eslint(@wordpress/无全局事件侦听器)

我有点搞不清楚我应该在这里改变什么。这甚至是developer.mozilla.org.

1 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

您可能可以忽略该规则。(非常)快速的搜索显示the GitHub PR 如果添加了此规则,且仅用于React组件(强调我的):

It\'s only meant for React components. 不确定是否有办法让它更具体。。。

相关推荐

多国语言上的Gutenberg块JavaScript本地化不起作用

我可以使用wordpress成功翻译我的插件。org用于所有php字符串。一切都很好。我甚至可以看到需要翻译的字符串https://translate.wordpress.org/projects/wp-plugins/simpletoc/stable/de/default/ 在这种情况下,它是“更新目录”:https://plugins.trac.wordpress.org/browser/simpletoc/tags/1.8/build/index.js#L111所以我翻译了它们,等了24小时。我可以