Member 12621887 Ответов: 1

Как остановить повторение функции при нажатии клавиши в javascript?


У меня есть фрагмент кода, который определяет, когда нажимаются определенные клавиши, а затем запускает функцию, но функция повторяется после срабатывания при любом нажатии клавиши. Я пытался сбросить массив в конце функции, но это останавливает все ключи от запуска функции в первую очередь.

var key = [];
onkeydown = onkeyup = function(e){
    e = e || event;
    map[e.keyCode] = e.type == 'keydown';
    if(key[17] && key[16] && key[65]){ //CTRL+SHIFT+A
        alert('Enabled');
        enableControls();
        key[];
        return false;
    }
 }


Как я могу остановить повторение функции с помощью любых нажатых клавиш после запуска функции? Любая помощь очень ценится!

Что я уже пробовал:

Я пытался сбросить массив в конце функции с помощью "key [];", но это останавливает все ключи от запуска функции в первую очередь.

1 Ответов

Рейтинг:
2

Peter Leow

Сделать 2 изменения:
1. Изменение

map[e.keyCode]

к
key[e.keyCode]

2. Изменение
key[];

к
key = [];