Подскажите в такой ситуации.
Есть объект:
const testApp = {
typesAll: document.querySelectorAll('.type'),
type: '',
event: function() {
this.typesAll.forEach( item => item.addEventListener('click', this.selectType)); // Вызов метода
},
selectType: function (e) {
if (e.type == 'click' || (e.type == 'keypress' && (e.which === 13 || e.keyCode === 13))) {
testApp.type = this.getAttribute('name'); // тут testApp заменить контекстом объекта???
}
}
}
Метод selectType принимает параметр event.
Внутри метода я специально оставил кусок кода чтоб показать что методу нужны event и контекст элемента по которому произошел клик, чтоб получить значение из атрибута name.
Вопрос: могу ли я в 16 строке заменить testApp контекстом объекта, чтоб не писать имя объекта? При этом мне остаются нужны event и контекст элемента по которому произошёл клик.
Вроде как можно через
call и apply передать, но я не знаю как тогда правильно передать event и контекст самого элемента по которому сделан клик.
***Ага, элемент можно передать как item, сам объект как this.
Если можно всунуть всё это при вызове метода, покажите пожалуйста как правильно это делается.
Или лучше в данном случае оставить так как есть?