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>
如果我在根时间轴上有一个实例名称为 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>