Kinetic.js:每个rect的Click事件

时间:2013-10-09 09:54:11

标签: jquery html5 kineticjs

如何为群组中的每个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?

1 个答案:

答案 0 :(得分:2)

您可以创建var layer = new Kinetic.Layer();并向其添加条形图,然后使用.on

绑定图层
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);
//...