jquery - 动力学.js : Click event for each rect

标签 jquery html 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 吗?

最佳答案

您可以创建一个 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/

相关文章:

javascript - 提交后清除url

javascript - 如何将X和Y线的点移动到不同的数组Kineticjs

php - 无法使用网络服务插入数据库

javascript - 仅在验证检查和提交表单后显示模态

c# - 将带有撇号的 json 值发送到 webservice 时出现无效对象错误

JQuery Megamenu 问题 : Expands all instances when one is clicked

javascript - 无法控制 z-index 最小的 div

javascript - 使用 d3.js (或类似的)创建交互式平面图

canvas - 如何使用 KineticJS 创建圆形剪辑?

javascript - 内容流 : load AddOn on creation?