如何创建私人定制活动?

问题描述 投票:0回答:1

我想创建一个私人自定义事件,一个其他人无法调度或侦听的事件。我尝试了这个,但它不起作用:

new CustomEvent(Symbol("validate"));

可以吗?

我知道我可以做这样的事情:

new CustomEvent(crypto.randomUUID());
javascript dom
1个回答
0
投票

这似乎是可以达到的最大值。

class ObscureEvent {
  #name;
  #event;
  constructor (options) {
    this.#name = crypto.randomUUID();
    this.#event = new CustomEvent(this.#name, options); }
  listen(target, handler) {
    target.addEventListener(this.#name, handler); }
  dispatch(target) {
    target.dispatchEvent(this.#event); } }
      
const validate = new ObscureEvent({ bubbles: true });
© www.soinside.com 2019 - 2024. All rights reserved.