den0820
@den0820
Фронтенд Junior разработчик.

Как установить один обработчик на несколько событий на клссическом JS?

Добрый день всем. На jquery, например, это реализуется через bind('event1 event2...eventN'), а на классическом JS, не совсем понятно как, например, на события mousedown, touchstart навесить один обработчик.
  • Вопрос задан
  • 5792 просмотра
Пригласить эксперта
Ответы на вопрос 6
@vacslav-dev
web-developer
var handler = function() {
}
elem.addEventListener('mousedown', handler);
elem.addEventListener('touchstart', handler);
elem.addEventListener('любое событие', handler);
Ответ написан
Комментировать
@GreatRash
С удивлением узнал, что bind ещё кто-то пишет...

['mouseover', 'mouseout', 'click'].forEach(function(i) {
  var handler = function() {
    console.log(i);
  };
  
  element.addEventListener(i, handler);
});
Ответ написан
Комментировать
den0820
@den0820 Автор вопроса
Фронтенд Junior разработчик.
Это надо стопятьсот раз писать инструкцию elem.addEventListener
Ответ написан
bootd
@bootd
Гугли и ты откроешь врата знаний!
Комментировать
Maxsior
@Maxsior
loading...
Может что-то наподобие?
function addSomeEventsListener(elem,events,handler){
	events.forEach(function(item, i, arr) {
  	elem.addEventListener(item, handler);
	});
}
Ответ написан
Комментировать
BodyaFlesh
@BodyaFlesh
Front-End Developers
вот статья здесь все подробно описано.
https://learn.javascript.ru/events-and-timing-depth
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы