Создание кастомного обработчика события

Создаю обработчик событий под различные устройства, на тач устройствах нет события click - нашел такое решение
Создается как я понимаю кастомное событие таким образом

var clickEvent = ('ontouchstart' in window ? 'touchend' : 'click'); // проверка на тач устройство

document.addEventListener(clickEvent, function() { // привязка события

});

Собственно вопрос, - addEventListener создает обработчик из существующих событий, например

(`click`, `load`, `resize`, `mouseenter`)

но почему он в примере выше привязывает кастомное событие по переменной

clickEvent 

где через него подтягивается либо touchend или click.
Подскажите как работает
var clickEvent = (‘ontouchstart’ in window ? ‘touchend’ : ‘click’); // проверка на тач устройство

document.addEventListener(clickEvent, function() { // привязка события

});

Спасибо.

Новое событие не создается. Определяется название события для которого будет создан обработчик. Т.Е. если на window можно навесить обработчик ontouchstart, значит можно и навесить обработчик на событие touchend, иначе подвязываться к событию click. Потом вычисленное название используется в качестве аргумента функции регистрации обработчика события.

1 лайк

Спасибо, разобрался