0

我正在尝试以编程方式触发事件。我的问题是我在两个 DIV 上有两个 SVG,我希望能够更改我单击的 DIV 的边框。为此,我想在我的类中传递 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); 我用主 div 定义,但它不起作用。奇怪的是,当我检查设置为 _parentDiv.click() 的调试器时,我看到 _parentDiv 正确设置了事件。我想 click() 没有像我预期的那样工作。任何想法?

4

1 回答 1

3

如果你想_setBorders(1)在点击事件上调用它,你必须使用:

div.onClick.listen((_) => _setBorders(1));
于 2014-02-05T08:15:23.590 回答