如果我在根时间轴上有一个movieClip,其实例名称为box。 在MC内部,我有一个彩色方形和以下代码:
myNum = 5;
编辑:在绝望的行为中得到任何回应我也在下面的一行:
var myNum = 3;
只是为了覆盖我的所有基础,但仍然没有任何值的输出响应 编辑结束。
在根时间轴上我有:
this.box.addEventListener("click", clickHandler);
function clickHandler(e) {
console.log(e.currentTarget.myNum);
}
这会返回undefined。我如何访问myNum?
答案 0 :(得分:0)
请告诉我这是否适合您要完成的任务。
TypeError: not all arguments converted during string formatting
我们只是为节点分配一个数据属性,这样您就可以访问要附加到元素的任何数据
答案 1 :(得分:0)
要访问对象内部的变量,该变量必须是对象上的属性(键)。 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>