我正在尝试制作一个函数,当我单击另一个(padre(时,该函数可以使播放符号动画(hijo(。我想要一个函数多次使用它们,所以我正在尝试自动化。
我正在获取单击按钮"padre"的实例名称,并尝试在此之后添加一些刺痛,在这种情况下为"hijo"。我创建了一些变量,但是当我使用字符串值时它不起作用。
this.padre.addEventListener("click", nose.bind(this));
function nose(evt) {
var root = this
//In this case on evt.currentTarget.name i get 'padre'
var loprimero = evt.currentTarget.name;
var loquesigue = "hijo";
var todito = loprimero + loquesigue;
//This console fine the name of instance i want gotoAndPlay
console.log(todito);
//This is i want to make work
//This give me cannot read property 'gotoAndPlay' of undefined
root.todito.gotoAndPlay(1);
//And this work fine
this.padrehijo.gotoAndPlay(1);
}
当我定义不带引号var loquesigue = this.padrehijo;
时,它工作正常。但请记住,我需要在其他一些父母符号上使用它。
这只是记录一个字符串:
console.log(todito);
如果您有具有该名称的实例,则可以使用括号访问它:
var inst = root[todito];
console.log(inst); // Does this work?
另外一点需要注意的是,你不需要在EaselJS中使用bind
,你可以使用on()
它更干净一点(docs(:)
this.padre.on("click", nose, this);
干杯