【发布时间】:2016-06-26 04:42:27
【问题描述】:
我想跟踪我的 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);
【问题讨论】:
-
你不能把svg元素放在画布外面吗?
标签: javascript onclick raphael snap.svg