2014-02-19 3 views
0

Я пытаюсь обнаружить события мыши (в настоящее время MouseDown) на Kinetic.Group содержащей сетку, изготовленную из Kinetic.Line'sОбнаружение событий мыши на Kinetic.Line

Я слушаю события MouseDown на уровне. Когда случается, что я ударяю строку, никакое событие не запускается.

var grid = new Kinetic.Group({ 
    x: 0, 
    y: 0, 
    width: this.group.width(), 
    height: this.group.height() 
}); 

grid.on("mousedown", function(){ 
    alert("At least this one should fire!"); 
}); 

var gridX = this.gridWidth, gridY = this.gridHeight; 

this.group.add(grid); 

while(gridY < this.rect.height()){   

    var line = new Kinetic.Line({ 
     points : [0,gridY, this.rect.width(), gridY], 
     stroke: "grey", 
     strokeWidth: 1 
    }); 

    grid.add(line); 

    gridY += this.gridHeight; 
} 

while(gridX < this.rect.width()){   
    var line = new Kinetic.Line({ 
     points : [gridX,0, gridX, this.rect.height()], 
     stroke: "grey", 
     strokeWidth: 1 
    }); 

    grid.add(line); 

    gridX += this.gridWidth; 
} 

Я нашел этот пост:

Kinetic.Line mouseover

Ответ упоминается там с помощью "сейв()" на форме. Это кажется старым, потому что этот метод не существует в Kinetic.Shape.

Пример, на который указывает вышеуказанное сообщение, предназначен для изображений. И он использует метод cache(), чтобы создать хит-граф или что-то в этом роде. Я попробовал это для своих строк, но это тоже не сработает.

Как я могу просто обнаружить события мыши на Kinetic.Line?

+0

Вы должны иметь возможность привязать событие click на слое, подобном этому 'clickLayer.on ('click', function (evt) {// Do something});' – RobinvdA

+0

Я добавил фрагмент кода, чтобы он был более понятным что я делаю – Chris

+0

Возможно, вы могли бы поместить его в jsFiddle, так что нам есть с чем поиграть – RobinvdA

ответ

0

На всякий случай вы все еще ищете ответ на этот @Chris, и если другие найдут вашу нить, я считаю, что вы и я страдаем от той же проблемы. @Sjiep так любезно предоставил исправление для моей проблемы под this нить.

Оказывается, это была действительно ошибка!

Смежные вопросы