我正在尝试以编程方式触发一个事件。我的问题是我在两个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));