我正在尝试以编程方式触发一个事件。我的问题是我在两个DIV上有两个SVG,并且我希望能够更改单击的DIV的边框。为此,我想将DIV传递给我的类(class),然后在单击任何内容后触发对DIV的单击。 (如果有更好的方法,请告诉我)

我有以下代码:

div = querySelector(divName);
svgElement = new svg.SvgSvgElement();
div.append(svgElement);
div.onClick.listen(_setBorders(1));

稍后我将svgElement传递给另一个类

ell.show(svgElement);

演出在哪里

show(svg.SvgElement element) {
  if (element.parent is DivElement){
    _parentDiv= element.parent as DivElement;
    element.children.add(_group);
  }
}

_parentDiv当然是一个DivElement,我用于内部onClick()

_onClick(MouseEvent e) {
  window.console.info("onClick Ell");
  _parentDiv.click();
}

我期望看到_setBorders(1);我用main div定义了,但是不起作用。奇怪的是,当我将调试器设置为_parentDiv.click()时,我看到_parentDiv的事件已正确设置。
我想click()无法正常工作。任何的想法?

最佳答案

如果您希望在点击事件中调用_setBorders(1),则必须使用:

div.onClick.listen((_) => _setBorders(1));

10-06 08:01