У меня проблемы с использованием ключевого слова this
в классе MooTools (1.3).Конструктор присваивает значение атрибуту, и последующий метод запуска отображает это значение во всплывающем окне alert
.Если я хочу запустить этот метод с задержкой (используя myfunction.delay(…)
), всплывающее окно отображает undefined
.
var MyClass = new Class({
initialize: function() {
this.x = 13;
},
run: function() {
alert(this.x);
}
});
window.addEvent('domready', function() {
var m = new MyClass();
m.run(); // ``13''
m.run.delay(2000); // ``undefined''
});
После того, как я возился, мне удалось найти следующее решение:
window.addEvent('domready', function() {
var m = new MyClass();
(function() { m.run() }).delay(2000); // ``13''
});
Тем не менее, я хотел бы понять, что здесь происходит, и почему простой вызов m.run.delay(…)
не помогает.