首先,你应该尽早调用这一句,否则显得不正规; 例如在 onAwake 的第一行.
this.Gbox_list.setVirtual();
其次对于virtual list, 相当于在复用cell, 逻辑上100行的,实际上是在反反复复就重复用那几个.
因此你 on(xxx....) 这种语法,如果滚动后发生cell复用,相当于在重复注册事件.
在refresh data后,你也相当于在重复注册事件,所以你 reload all data 几次,你就会重复几次.
首先你的这写法不正规,不和文档;
再者,如果就按你这个路数,你在 on 注册事件之前,先 off 掉吧,例如
item.getChildByName('name').offAllCaller(this);
item.getChildByName('name').on(Laya.Event.CLICK, this, ()=>{
...
}