在 svg 组上模拟点击事件

Simulate click event on an svg group

我使用 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);

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

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

var event = document.createEvent("SVGEvents");
event.initEvent("click",true,true);
myGroup.dispatchEvent(event);

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