@Swift-U

Как настроить функцию короткого и длинного нажатия кнопки?

Здравствуйте, решил попробовать реализовать идею, суть в том, что при коротком нажатии на кнопку выпадает меню а при долгом удержании выпадает popup окно, своеобразный 3D Touch, поискав, нашёл почти готовый код ,но у меня не получаться настроить его, что бы он работал, не так давно начал JS изучать, ещё не шарю хорошо. Если кто-то может помочь, что бы при долгом нажатии начало выпадать popup окно буду очень благодарен!
https://codepen.io/Swift_u/pen/zQQqmr
  • Вопрос задан
  • 624 просмотра
Пригласить эксперта
Ответы на вопрос 2
zzzfairy
@zzzfairy
Учусь на front-end разработчика
Я только учусь, но полагаю, что нужно навесить EventListener на "клавиатурные события", которые вам нужны.
Ответ написан
Комментировать
rockfeeler
@rockfeeler
Фронтендер, дизайнер, верстальщик-перфекционист
Можно эмулировать долгое нажатие на кнопку. Например, вот так:

var pressTimer;

$("a").mouseup(function(){
    // чистим таймер
    clearTimeout(pressTimer);
    return false;
}).mousedown(function(){
    // ставим таймер
    pressTimer = window.setTimeout(function() {
        // здесь пишем наш код
    },1000);
    return false; 
});


Далее поиграться с таймерами. Если слишком мало времени прошло, регистрируем одно нажатие и даем меню. Если много – открываем поп-ап. Ну и вместо a, конечно, может быть и кнопка мыши, и код любой кнопки на клаве.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы