Javascript - 向集合中的所有对象调度事件

问题描述

如何向集合中的所有自定义对象分派自定义事件?

class Node{...}

a = new Node(...);
b = new Node(...);

var nodeSet = new Set(...);
let myEvent = new CustomEvent(...);

for (var node of nodeSet){
     node.shape.dispatchEvent(myEvent); 
}

Node.shape 是一个 Konva 形状

由于我是 Javascript 初学者,请保持回复通俗易懂,谢谢。

解决方法

为了使您的自定义事件与 Konva Node 对象一起使用,Shape 子类有一个 on 方法,可以让您直接在形状。

这样做:

class Node{...}

a = new Node(...);
b = new Node(...);
a.shape.on('Yo!',handler);
b.share.on('Yo!',handler);
  // all 4000 shapes

var nodeSet = new Set(...);
let myEvent = new CustomEvent('Yo!');

// If you only have one handler for every shape's treatment of CustomEvent
for (var node of nodeSet){
     node.shape.on('Yo!',handler);
}

for (var node of nodeSet){
     node.shape.dispatchEvent(myEvent); 
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...