Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.10.2018, 14:43
Кандидат Javascript-наук
Отправить личное сообщение для Retro_1477 Посмотреть профиль Найти все сообщения от Retro_1477
 
Регистрация: 14.04.2018
Сообщений: 113

Событие при НЕ нажатой клавише
Мне нужно чтобы выводился alert если клавиша D ИЛИ A не зажаты.
Ответить с цитированием
  #2 (permalink)  
Старый 06.10.2018, 15:23
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

time = setTimeout(function () {
	alert('Приехали');
}, 100);
window.onkeydown = e => {
	if(e.keyCode == 65 || e.keyCode == 68) clearTimeout(time);
};

Последний раз редактировалось j0hnik, 06.10.2018 в 15:30.
Ответить с цитированием
  #3 (permalink)  
Старый 06.10.2018, 15:25
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,492

Ловить нажатия и отжатия. Самого по себе статуса какой либо клавиши нигде нет.
Примерно так:
//в самом начале 
var KEYS = (function(parent){
  var keys = {
    pressed: {},

    isPressed: function(key){
      if(typeof key === 'string') 
        key = key.toUpperCase().charCodeAt(0);
      return key in this.pressed;
    },
    handleEvent: function(event){
      switch(event.type){
        case 'blur':
          for(var k in this.pressed){
            delete this.pressed[k];
          }
          break;
        case 'keyup':
          delete this.pressed[event.keyCode];
          break;
        case 'keydown':
          this.pressed[event.keyCode] = new Date();
          break;
      }
    }
  };
  parent.addEventListener('keyup', keys);
  parent.addEventListener('keydown', keys);
  parent.addEventListener('blur', keys);
  return keys;
}(window));
//сильно позже
if(KEYS.isPressed('A') || KEYS.isPressed('D')) 
  alert('!')
__________________
29375, 35
Ответить с цитированием
  #4 (permalink)  
Старый 06.10.2018, 15:43
Кандидат Javascript-наук
Отправить личное сообщение для Retro_1477 Посмотреть профиль Найти все сообщения от Retro_1477
 
Регистрация: 14.04.2018
Сообщений: 113

спасибо за хелпу
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Событие при нажатии на клавиши sloyi Элементы интерфейса 10 07.11.2014 20:46
Событие при изменении размера окна в диапазоне (для адаптивной верстки) spo Общие вопросы Javascript 4 02.10.2014 15:51
переопределение переменных при событие onchange lw091190 Элементы интерфейса 0 29.06.2014 12:07
Событие для тега <div> при обращении к нему через якорь dima_web Элементы интерфейса 1 11.01.2013 18:38
Как правильно подавить событие при подключении своего обработчика? Маэстро Firefox/Mozilla 2 03.09.2011 11:46