JavaScript [Konva]:数组多个事件仅返回最后一个对象

友教

当多个Transformer对象存储在数组中时,on()事件仅返回transArytransAry[transAry.length-1]的最后一个对象

for (var i = 0; i < transAry.length; i++){
  var trans = transAry[i];
  trans.on('transformer dragmove', function(){
    console.log(trans.x(), trans.y(), trans.scaleX(), trans.scaleY());
  });
}

在这种情况下,Transformer通过鼠标操作移动或调整每个对象的大小时console.log仅显示transArytransAry[transAry.length-1]的最后一个对象

我想触发数组Transformer对象的所有事件,但是我不知道该怎么做。

这似乎不是Konva.js特有的问题,但是我想这是因为我不了解JavaScript异步处理如何正常工作。

阿罗哈

我认为,当您使用var时,on()是一个回调函数,因此当on()run时,for循环完成并且变量trans =数组中的最后一个元素=> console.log总是返回数组中的最后一个元素

我想解决这个问题,您可以使用let代替var

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

带for循环的Javascript数组,仅返回最后一个元素

Javascript:函数返回数组的最后一个元素

在JavaScript中的多个连续事件中运行最后一个事件

JavaScript 动态按钮 OnClick 事件仅适用于创建的最后一个按钮

多维javascript数组,仅影响forEach中的最后一个数组

如何在Javascript中的对象数组的最后一个对象之后追加几个新对象?

Javascript(jquery)-附加到一个事件的多个处理程序:如何仅分离一个事件?

使用 Javascript 读取多个文件导致仅读取最后一个文件

Javascript仅将for循环中的最后一个条目推送到对象

JavaScript执行循环,但仅查看数组中最后一个元素的结果

Javascript数组仅运行函数,该函数在数组的一个元素上返回promise

JavaScript:函数返回一个对象

如何从javascript中的数组获取不同ID和不同服务名称的最后一个对象?

从javascript对象/数组结构中的任意点计算“最后一个孩子”

JavaScript触发了最后一个事件

仅替换Javascript中的最后一个数字

返回第一个对象以在 javascript 多级嵌套对象数组中包含特定值

.each循环中的javascript .push方法仅返回一个数组

JavaScript:使用Reduce()构造一个比较输入数组的函数交集;仅返回相交元素

Javascript循环对象数组并添加事件监听器有一个奇怪的行为

javascript / angularjs遍历数组仅显示一个对象

如何使用for和for in语句在Javascript对象数组中仅获取一个值?

递归返回最后一个值 - Javascript

JavaScript QuerySelector不返回最后一个孩子

Javascript-仅返回对象数组中的唯一值

JavaScript-删除数组的最后一个索引

选择JavaScript数组中的最后一个元素

如何使用JavaScript查找数组的最后一个值?

算法:从数组中获取当前日期的最后和下一个事件(javascript /角度)