gpt4 book ai didi

javascript - 在 Chrome 扩展中创建自定义事件的最惯用方式

转载 作者:行者123 更新时间:2023-11-30 09:50:13 25 4
gpt4 key购买 nike

创建与 DOM 无关的自定义事件(使用经典的 chrome.Event 界面)并手动存储和触发它的最惯用的方法是什么?

我的程序中有一个对象 obj,我想在其上创建一些事件对象,例如 obj.event1obj.event2这样:

obj.event1.addListener(callback);
obj.event2.removeListener(callback);
...

是有效的调用。

我知道自己实现它相当容易,但我想知道是否有更好的方法。谢谢。

个人研究:

  • > DOM events : 为 document 对象创建并从中创建
  • > chrome.events : 显示界面但不解释如何创建自定义事件
  • > Chrome events :它确实展示了如何向现有事件添加规则,但没有展示如何创建您自己的自定义事件。

最佳答案

chrome.Event不能用于自定义事件。

要在没有库的情况下触发自定义事件,可以按如下方式使用标准 DOM 事件:

var listener = function(evt) {
console.log(evt.detail);
};

var target = document.createElement('a'); // Anything that implements EventTarget
target.addEventListener('myEvent', listener);
target.dispatchEvent(new CustomEvent('myEvent', {
detail: 'test',
}));

如您所见,无需在 document 上注册所有事件,很可能使用任何实现 EventTarget interface 的对象.

关于javascript - 在 Chrome 扩展中创建自定义事件的最惯用方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36907760/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com