0

プログラムでイベントを発生させようとしています。私の問題は、2 つの DIV に 2 つの 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 はもちろん、内部の onClick() に使用する DivElement です。

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

_setBorders(1); が表示されることを期待しています。main div で定義したのですが、うまくいきません。奇妙なことに、_parentDiv.click() に設定されたデバッガーで確認すると、_parentDiv にイベントが正しく設定されていることがわかります。click() が期待どおりに機能しないと思います。何か案が?

4

1 に答える 1

3

If you want that _setBorders(1) is called on click events you have to use :

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