Javascript область действия addEventListener и это
Я - разработчик C #, экспериментирующий с JavaScript, и я пытаюсь обдумать возможности :)
У меня есть следующий код, который содержитaddEventListener
в котором я хочу использовать поле из моего объекта:
(function(window) {
function Keyboard() {
this.keys = {};
}
Keyboard.prototype.handle_keydown = function(args) {
this.keys[args.keyCode] = true;
}
Keyboard.prototype.listen = function() {
window.addEventListener('keydown', this.handle_keydown);
}
app.util.keyboard = new Keyboard();
})(window);
Я хотел бы использовать массив ключей в моем Hander, но понимаю, что я не могу получить доступ с помощью этого, потому что это окно в этом контексте (правильно?). Если я изменю это на
app.util.keyboard.keys[args.keyCode] = true;
это работает, но я не уверен, что это хороший способ это исправить.
я нашелэтот вопрос, что кажется довольно похожим, но я не уверен, как я могу вписать это в мой пример.
Спасибо за вашу помощь!