gpt4 book ai didi

javascript - KineticJS - 动态创建形状数组并使用事件

转载 作者:行者123 更新时间:2023-11-28 20:35:42 27 4
gpt4 key购买 nike

我已经成功地动态创建了一系列形状,并且它们很好地放置在不同的坐标处。

但是,当我尝试在该循环内分配事件时,单击的结果始终相同。就好像单击事件仍在引用我的循环的最后一次迭代。

我做错了什么?谢谢!

编辑:实际上,在隔离环境中重现了此行为:

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);

如何向这四个标签添加不同的事件?

最佳答案

我认为你做的一切都是正确的。但正因为如此;

            console.log(i);

i 的最后一个值是 array.length-1,当单击它时,它会显示该值,该值不会改变,因为单击时它位于循环之外。

这将显示不同的值。

            console.log(this.attrs.x);

关于javascript - KineticJS - 动态创建形状数组并使用事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15439191/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com