swipeshot
@swipeshot
Учусь на ошибках.

Событие при удержании?

Как при помощи hammer.js (ну или другими способами) сделать событие, при котором будет добавляться класс к элементу если будет удержание (типа 3d touch)? Можете привести примеры?
  • Вопрос задан
  • 1007 просмотров
Решения вопроса 2
In4in
@In4in
°•× JavaScript Developer ^_^ ו°
Не знаю как на hummer.js, но вообще, так:

function hold(e, f, t, g){
   var holder;
   e.addEventListener("mousedown", function(r){
         holder = setTimeout(function(){
               f.call(e, r);
               holder = true;
         }, t || 2000)
   });
   document.addEventListener("mouseup", function(r){
          holder === true ? g && g.call(e, r) 
            : clearTimeout(holder);
   });
}

hold(
  document.body,  //Целевой элемент
  function(){  //Функция, выполняющаяся при удержании (единожды)
    this.classList.add("active");  
  }, 
  3000,  //Время, через которое сработает «Удержание»
  function(){  //Функция, которая сработает после удержания
     this.classList.remove("active");
  }
);


Пример использования
Ответ написан
swipeshot
@swipeshot Автор вопроса
Учусь на ошибках.
Пригласить эксперта
Ваш ответ на вопрос

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

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