Phil
Phil

Reputation: 97

Simulate click event on an svg group

I have created a group using 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);

When I actually click the group with my mouse the toggleSelection function is executed. I am unable to figure out how to simulate a click. I've tried myGroup.click() myGroup.events.click() etc.

There doesn't seem to be a built in method to Snap so standard JS is welcome!

Upvotes: 5

Views: 3598

Answers (1)

MaxZoom
MaxZoom

Reputation: 7753

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

This will fire an event that you assigned with .on("click") earlier. This is nicer than manually creating a mouse event with Xs and Ys, as that's difficult and is probably fraught with peril given that your objects overlap each other at times.

Upvotes: 9

Related Questions