如何为组中的每个 Kinetic.Rect 创建单击事件?
假设我有这个:
var bar1 = new Kinetic.Rect({
x: 0,
y: 100,
width: 400,
height: 10,
fill: 'grey',
stroke: 'black',
strokeWidth: 2
});
var bar2 = new Kinetic.Rect({
x: 0,
y: 100,
width: 400,
height: 10,
fill: 'grey',
stroke: 'black',
strokeWidth: 2
});
有没有办法让两个栏具有相同的点击事件? 可能使用 jQuery 吗?
最佳答案
您可以创建一个 var layer = new Kinetic.Layer();
并向其中添加条形,然后使用 .on
绑定(bind)该层
layer.add(bar1);
layer.add(bar2);
//...
layer.on('click',function(e) {
//...
//bar1/bar2 is e.targetNode
参见http://konvajs.github.io/docs/events/Multi_Event.html
否则
function handleClick(e) {
//..
//bar1/bar2 is e.target
}
bar1.on("click",handleClick);
bar2.on("click",handleClick);
//...
关于jquery - 动力学.js : Click event for each rect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19268712/