2015-01-21 5 views
2

Snap.svg을 사용하여 그룹을 만들었습니다.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를 환영합니다!

답변

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

이렇게하면 이전에 .on ("클릭")으로 할당 한 이벤트가 실행됩니다. Xs 및 Ys를 사용하여 마우스 이벤트를 수동으로 생성하는 것보다 좋지만, 어렵 기 때문에 객체가 서로 겹치면 위험 할 수 있습니다.

+1

감사합니다. 이상하게도 myGroup.node.dispatchEvent (이벤트)로 변경하지 않으면 코드에서 작동하지 않습니다. 내가 Raphael.js (Snap의 전임자)에 대한 SO 질문을 검색하기로 결정했기 때문에 이것을 알아 냈을 뿐이며 http://stackoverflow.com/questions/9855003/rapha%C3%ABl-object-simulate-click – Phil

관련 문제