当我使用数组时,kineticjs鼠标事件不会侦听

时间:2013-01-29 22:22:03

标签: javascript html5 kineticjs

在HTML5的kintic JS中,我试图消除鼠标上的线条,当我使用变量进行操作时它工作正常: http://jsfiddle.net/Vbwta/

        var layer = new Kinetic.Layer();
        lines0= new Kinetic.Line({
        points: [73+10, 70+10, 340+10, 23+10],
        stroke: 'red',
        strokeWidth: 7,
      });

      lines0.on('mouseover', function() {
            lines0.hide();
          layer.draw();;            
         });

    lines1= new Kinetic.Line({
        points: [53, 50, 320, 03],
        stroke: 'red',
        strokeWidth: 7,
      });

      lines1.on('mouseover', function() {
            //document.body.style.cursor = 'pointer';
            lines1.hide();
          layer.draw();;            
         });

但是当我使用数组时,同样的事情无法正常工作: http://jsfiddle.net/uNak5/

var lines= new Array();
    lines[0]= new Kinetic.Line({
        points: [73+10, 70+10, 340+10, 23+10],
        stroke: 'red',
        strokeWidth: 7,
      });

      lines[0].on('mouseover', function() {
            lines[a].hide();
          layer.draw();;            
         });

    lines[1]= new Kinetic.Line({
        points: [53, 50, 320, 03],
        stroke: 'red',
        strokeWidth: 7,
      });

      lines[1].on('mouseover', function() {
            //document.body.style.cursor = 'pointer';
            lines[1].hide();
          layer.draw();;            
         });


         layer.add(lines[0]);
         layer.add(lines[1]);

1 个答案:

答案 0 :(得分:0)

http://jsfiddle.net/uNak5/1/

我更新了代码,您将对数组项的引用设置为

    lines[a] 

而不是

    lines[0]

在你的听众中

    .on('mouseover', function());