Animate CC (canvas) 如何访问 e.currentTarget 中的变量?

Animate CC (canvas) how to access variable inside e.currentTarget?

如果我在根时间轴上有一个实例名称为 box 的影片剪辑。 在 MC 内部,我有一个彩色方形和以下代码:

myNum = 5;

编辑:为了得到任何回应,我在下面的行中也有:

var myNum = 3;

只是为了涵盖我所有的基础,但仍然没有任何值的输出响应 编辑结束。

在我的根时间线上:

this.box.addEventListener("click", clickHandler);

function clickHandler(e) {
    console.log(e.currentTarget.myNum);
}

这个 returns 未定义。我如何访问 myNum?

请告诉我这是否适合您要完成的任务。

<button id="elem" data-mynum="3"> hello</button>

var elem = document.getElementById('elem');
elem.addEventListener("click", clickHandler);

function clickHandler(e) {
    console.log(e.currentTarget.dataset.mynum);
}

我们只是为节点分配一个数据属性,这样您就可以访问要附加到元素的任何数据

要访问对象内部的变量,该变量必须是对象上的 属性(键)。 myNum 不是 e.currentTarget 的 属性 并且仅仅声明一个变量不会给任何随机对象 属性...你必须设置 属性 在对象上,像这样:

this.box.myNum = 3;
this.box.addEventListener('click', clickHander);
...

虽然正如 Jose CC 的回答提到的那样,在元素上放置自定义属性不是标准的(尽管它会起作用)并且应该使用 data- 属性来完成。

var box = document.getElementById('box');
box.dataset.myNum = 3;
box.addEventListener('click', clickHandler);

function clickHandler(e) {
  console.log(e.currentTarget.dataset.myNum);
}
<div id="box">My box</div>