问题描述
我有一个场景,我动态地创建 5 个按钮并为其加载自定义属性(mydata):
create() {
for (var a=1; a<=5; a++) {
this.mybutton = this.add.image(a*50,10,'').setInteractive();
this.mybutton.mydata = a;
this.mybutton.on('pointerup',(e) => {
// how to return mydata property value??
});
}
}
我在网上发现 e.target 或 e.currentTarget 可以提供帮助,但在这种情况下都返回 undefined。
无论如何,知道箭头函数将this移动到父作用域,还有办法在事件中引用对象本身并检索其属性吗?
PS:我知道使用常规函数可以达到预期的结果,但我现在正在研究箭头函数,所以我有点“喜欢它”,然后我想知道是否有以这种特殊方式扭转局面。
谢谢!
编辑 - 我结束了解决方案:
create() {
for (let a=1; a<=5; a++) {
const mybutton = this.add.image(a*50,'').setInteractive();
mybutton.mydata = a;
mybutton.on('pointerup',(e) => {
console.log (mybutton); // returns the object
console.log (mybutton.mydata); // returns the property
});
}
}
解决方法
对我来说当前目标工作正常
$('#test').on("pointerup",(e) =>
{
console.log(e.currentTarget);
});