形状ごとにクリック イベントを設定しようとしているだけで、ID に基づいている正方形を表示できるようにしたいと考えています。
var stage = new Kinetic.Stage({
container: 'container',
width: 700,
height: 700,
});
var squareLayer;
var boardBlankArray;
function drawBoard() {
var squareLayer = new Kinetic.Layer();
var initialSquares = 64;
var squareX = 20;
var squareY = 20;
boardBlankArray = [];
for (i = 0; i < initialSquares; i++) {
var square = new Kinetic.Rect({
x: squareX,
y: squareY,
width: 50,
height: 50,
fill: "blue",
stroke: "black",
strokeWidth: 2,
id: "squares" + i
});
squareX += 60; //update squares X (horizontal) position
if (squareX > 450) {
squareX = 20;
squareY += 60;
}
boardBlankArray[i] = square;
squareLayer.add(boardBlankArray[i]);
boardBlankArray[i].on("click", function() {
alert(boardBlankArray[i].getId());
});
}
stage.add(squareLayer);
}
drawBoard();
私はフィドルを作成しましたが、何らかの理由でboardBlankArrayが未定義であると言っていますが、明らかにそうです。また、これを自分のコンピューターでローカルに実行しても、そのエラーは発生しません。代わりに、すべての正方形に対して同じ ID を警告するだけです。
どんな助けでも大歓迎です。