Я знаю, что есть умный способ использовать замыкания и делать то, что я ищу, но я не уверен, что это такое.
В следующем коде:
var MyApp = {
innerObject : {
myData : "test value",
myMethod : function() {
// 'this' ends up referring to HTMLElement, not what I want
alert(this.myData);
}
}
open : function() {
document.getElementById('connectLink').addEventListener('click', this.innerObject.myMethod, false);
}
}
MyApp.open();
Я хочу прикрепить обработчик события к элементу с id = 'connectLink' к методу внутри innerObject. Этот метод обращается к другим данным внутри innerObject для выполнения своей функции. Я знаю, что это как-то связано с хитрой природой ключевого слова this
в javascript. Есть шаблон, который я могу принять, чтобы исправить это?