我正在尝试创建一种函数,当我单击其他动画(padre)时可以播放符号动画(hijo)。我想要一个函数多次使用它们,所以我试图实现自动化。
我获得了单击按钮“ padre”的实例名称,并尝试在此之后添加一些字符串(在本例中为“ hijo”)。我创建了一些变量,但是当我使用字符串值时它不起作用。
{ "_id" : ObjectId("5d2ef0702385"), "object" : { "key" : "value" } }
当我定义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);
}
而不带引号时,它可以正常工作。但是请记住,我需要在其他一些父母符号上使用它。
答案 0 :(得分:0)
这只是记录一个字符串:
console.log(todito);
如果您有一个具有该名称的实例,则可以使用方括号将其访问:
var inst = root[todito];
console.log(inst); // Does this work?
另外一点,您无需在EaselJS中使用bind
,只需使用on()
及其更简洁的{docs):)
this.padre.on("click", nose, this);
干杯