Подсчет нажатий определенной клавиши c на клавиатуре и уменьшение количества нажатий другой клавиши в javascript - PullRequest
0 голосов
/ 20 июня 2020

Я считаю, сколько раз была нажата клавиша «/» на клавиатуре (код клавиши 111). Я не могу понять, как уменьшить его, если я нажму «Enter» (код клавиши 13).

Подробное описание: Подсчитывая нажатие «/», число должно отображаться в HTML окно. Функция должна проверить, не превышает ли число счетчика 5. Если это так, то после нажатия «Enter» она запустит функцию и уменьшит число на 5, отобразит новое число. Если это не так, «Enter» будет отключен.

Я новичок ie - Спасибо за вашу помощь

вот код, который у меня есть:

var Count = 0;

var input = document.getElementById('display');

input.onkeydown = function() {
    var key = event.keyCode || event.charCode;

    if( key == 111 ){
        Count++;
        console.log( Count );
        return false;
    }
};
<input id="display" />

Ответы [ 2 ]

0 голосов
/ 23 июня 2020

Не уверен, что семантически правильно, но вот решение: он использует идентификатор контейнера веб-страницы, таким образом, в любом месте страницы, если нажать (onkeydown) клавишу «/» = разделить с клавиатуры numeri c, это добавляет 1, при нажатии клавиши «ENTER» вычитается 5 и отображается оставшаяся сумма (например, 8-5 = 3). Результат помещается в div с id = "counter" внутри веб-страницы. Это работает, но возникает ошибка при нажатии «ENTER» после того, как количество меньше 5 (Uncaught ReferenceError: значение не определено), поэтому определенно должно быть «более чистое» решение для этого.

 var count = 0;
 document.getElementsByClassName('container');
 document.onkeydown = function() {
 var key = event.keyCode || event.charCode;
 if(key === 13){
 count = (count - 5) < 0 ? value : count - 5
 document.getElementById('counter').innerHTML = count + " Points ";
 event.preventDefault()
 }
 if( key === 111 ){
 count++;
 document.getElementById('counter').innerHTML = count + " Points ";
 event.preventDefault()
 }
 };
0 голосов
/ 21 июня 2020

Я думаю, вы проверяете неправильный ключевой код для "/"

var count = 0;

var input = document.getElementById('display');

input.onkeydown = function() {
    var key = event.keyCode || event.charCode;
    if(key === 13){
      count = (count - 5) < 0 ? 0 : count - 5
      input.value = count
      return false
    }
    if( key == 191 ){
        count++;
        console.log( count );
        input.value = count
        return false;
    }
};
<input id="display" />
...