admin管理员组

文章数量:1323317

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 wele!

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 wele!

Share asked Jan 21, 2015 at 22:04 PhilPhil 971 gold badge2 silver badges10 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 9
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.

本文标签: javascriptSimulate click event on an svg groupStack Overflow