模拟SVG组上的点击事件

Phi*_*hil 4 javascript svg snap.svg

我已经使用Snap.svg创建了一个组。

shape = paper.rect(225, 50, 100, 50, 10, 10);
text = paper.text(253,82, "text")
myGroup = paper.g(shape, text);
myGroup.click(toggleSelection);
Run Code Online (Sandbox Code Playgroud)

当我实际上用鼠标单击该组时,将执行toggleSelection函数。我无法弄清楚如何模拟点击。我已经尝试过myGroup.click()myGroup.events.click()等。

Snap似乎没有内置方法,因此欢迎使用标准JS!

Max*_*oom 5

var event = document.createEvent("SVGEvents");
event.initEvent("click",true,true);
myGroup.dispatchEvent(event);
Run Code Online (Sandbox Code Playgroud)

这将触发您之前用.on(“ click”)分配的事件。这比用Xs和Ys手动创建鼠标事件要好,因为这很困难,并且由于对象有时彼此重叠,可能会充满危险。