SVG Snapのキャンバスをいつクリックしたかを把握したいと思います。SVG Snapのキャンバスがクリックされたときにイベントを発生させます
var s = Snap("#svgout"), //creates the canvas
source = "data:image;base64," + $('#imageBtn').val(), //set map background for canvas
img = s.image(source, 0, 0, "100%", "100%"), currRect, numNodes = 0;
s.click(function(){
console.log("clicked canvas");
});
基本的に私のSVGはバックグラウンドで、その中に私はドラッグアンドドロップするいくつかの要素(グループ)があります。私の問題は、クリックがキャンバスがクリックされたときだけでなく、ドラッグする要素をクリックするか、またはそれをクリックするときにクリックが発生することです。キャンバスがクリックされたときにのみこのイベントを発生させるにはどうすればよいですか?私は考えることができる
var rect = s.rect(posx, posy, 40, 40, 6).attr({
fill: "none",
stroke: "#F44336",
strokeWidth: 3,
myId: guidGenerator(),
});
var group = s.group(rect).attr({
cursor: "move",
});
if(numNodes > 0){
currRect.removeAttribute('stroke');
}
currRect = group.node.childNodes[0];
group.append(s.image("../images/pi.svg", posx, posy, 40, 40));
group.drag(move,start, up);
を使って私がテストされていますか? – shadownrun