То, что вы говорите, имеет смысл. Когда вы вызываете эту функцию как обычно, «this» является вашим объектом. Когда вы запускаете его с помощью setInterval, вы теряете ссылку на ваше «this».
- отредактировано на основе комментариев, чтобы помочь другим -
Вот 3 способа решения этой проблемы:
Этот способ включает передачу "this" вашей функции:
var that = this;
setInterval(function() {testing(that)}, 1000);
function testing(obj) {
for (a = 1; a <= 4; a++) {
obj["btn" + a].enabled = true;
}
}
Этот способ включает передачу "this" в setInterval:
setInterval(this, "testing", 1000);
function testing() {
for (a = 1; a <= 4; a++) {
this["btn" + a].enabled = true;
}
}
Третий способ включает в себя класс Delagate:
import mx.utils.Delegate;
setInterval(Delegate.create(this, testing), 1000);
function testing() {
for (a = 1; a <= 4; a++) {
this["btn" + a].enabled = true;
}
}