Я делаю что-то вроде «Системы информации о сотрудниках для клиентов», используя HTML и CSS. Сделал пока без проблем.
Основная задача системы:
Заказчик читает обязанности и имя сотрудника, перемещая список вверх. Если он / она находит участника, он нажимает соответствующую клавишу на клавиатуре или щелкает номер на панели номеров.
Страница сведений об участнике
Нет проблем, если покупатель «нажимает» кнопку. Но, если он выбрал клавиатуру, возникает проблема. Потому что в нашем штате 20 человек. Клиент может нажимать цифры от 1 до 9. Мне нужно разрешить клиенту нажать 10, 11, ..., чтобы получить доступ к новой странице с подробной информацией об этом члене.
Я не мог найти никакого решения в Google. Пожалуйста, дайте мне знать, как решить эту проблему.
Спасибо.
@NH Darshana Prasad Gunarathna вы можете отслеживать непрерывно нажатые клавиши в определенное время. Допустим, вы хотите ввести 20, вы можете отслеживать нажатие клавиш 2 и 0 сразу после друг друга с разницей во времени в 5 секунд. И нажатая клавиша должна быть целым числом, а не строкой.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете использовать setTimeout (), чтобы подождать и проверить, не произойдет ли еще один ключ в течение некоторого времени. Это означает, что при нажатии первой клавиши вы запускаете функцию, чтобы подождать и посмотреть, собирается ли пользователь нажать другую клавишу.
Например, когда пользователь нажимает 1, вы вызываете setTimeout () и ждете 3 секунды. Если в течение 3 секунд пользователь не нажал другую клавишу, то мы предполагаем, что пользователь намеревался ввести 3. Однако, если пользователь нажимает больше, это будет объединено с предыдущей клавишей (клавишами). Итак, если пользователь нажал 7 в течение 3 секунд, мы будем считать, что пользователь намеревался ввести 17.
Вы также можете сделать это для большего количества цифр, используя тот же метод.
Вместо использования setTimeout лучшим решением было бы использовать метод debounce, предоставляемый lodash. Об этом можно прочитать здесь: lodash.com/docs/#debounce
Если пользователь нажимает
1, как узнать, что это пользователь №1 или пользователь №17, который еще не нажимал7? Задержка? Или вы потребуете, чтобы пользователь №1 ввел01? И, по-видимому, вы имеете в виду не «однократное нажатие», а «последовательность нажатий клавиш» - если вы требуете, чтобы они нажимали цифры одновременно, одна из проблем заключается в том, что №11 не может войти в систему. Если у вас есть сотрудники двадцать, может быть легче дать им буквы, чем цифры?