나는 모양의 배열을 동적으로 생성 할 수 있었고 서로 다른 좌표에 배치되었습니다.KineticJS - 동적으로 모양의 배열을 만들고 이벤트를 사용합니다.
그러나 루프 내에서 이벤트를 할당하려고하면 클릭 결과는 항상 동일합니다. 마치 click 이벤트가 내 루프의 마지막 반복을 계속 참조하는 것과 같습니다.
내가 뭘 잘못하고 있니? 감사!
편집 : 나는이 네 라벨에 다양한 이벤트를 추가하려면 어떻게
var stage = new Kinetic.Stage({
container: 'container',
width: 1024,
height: 768
});
var layer = new Kinetic.Layer();
singleSegment=40;
for (var i = 0; i < 4; i++) {
depth=singleSegment+(singleSegment*i);
dotLabel = new Kinetic.Text({
x: depth,
y: depth,
text: "test"
});
dotLabel.on('click', function(evt){
console.log(this.x);
});
layer.add(dotLabel);
}
stage.add(layer);
: 사실, 격리 된 환경에서이 동작을 다시 제작?
나는 자바 스크립트 클로저를 설명하는 가장 좋은 사람이 아니지만 위트 행운인데 다른 누군가가 할 수 있습니다. 그렇지 않으면 –
@ JaniHyytiäinen 주위에 google해야 할 것입니다. 범위 문제 인 것 같습니다. 하지만 정확히 무엇이 잘못되었는지 이해하지 못합니다. 위의 코드를 작게 만들었으므로 어디서든 테스트 할 수 있습니다. –