Как нажимать сочетания клавиш при нажатии кнопки веб-приложения, используя javascript / jquery / php

Основной возможной проблемой производительности является то, что на некоторых платформах crypto.randomBytes может блокироваться, если закончится энтропия. Поэтому вы не хотите тратить какую-либо случайность, если вы его используете.

Поэтому вместо сравнения строк я бы использовал следующую целую операцию.

if (random_bytes < 16700000) {
    return random_bytes = random_bytes - 100000 * Math.floor(random_bytes/100000);
}

около 99,54% шанса получить ответ от первых 3 байтов, в отличие от около 76% шансов на ваш подход.

0
задан Chris 19 January 2019 в 13:01
поделиться

1 ответ

Во-первых, нам нужно прикрепить прослушиватель событий к области, где мы хотим захватить ввод с клавиатуры (используйте окно, если вы хотите захватить все).

Затем в обработчике событий мы можем делать все, что захотим, в зависимости от нажатой клавиши. ЗДЕСЬ вы найдете диаграмму со всеми ключевыми значениями:

let captureArea = document.getElementById('captureArea');

captureArea.addEventListener('keypress', inputHandler);

function inputHandler(e) {

    // PRINT PRESSED KEY VALUE
    console.log(e.which);

    // HANDLING EXAMPLE
    if (e.which <= 31 || (e.which >= 48 && e.which <= 57)) {
        // A NUMBER HAS BEEN PRESSED
        // SWITCH TO CORRESPONDING SLIDE
    } else if (e.which === 13) {
        // ENTER KEY HAS BEEN PRESSED
        // TRIGGER SUBMIT BUTTON HANDLER
    }

}

Очевидно, это простой пример. В зависимости от предполагаемой кросс-браузерной поддержки, вы можете использовать e.which, addEventListener / removeEventListener и разрешить устаревшие альтернативы.

Не забудьте отключить прослушиватель событий, когда в этом нет необходимости:

captureArea.removeEventListener('keypress', inputHandler);

А более конкретная информация с captureArea также может помочь повысить производительность.

ПРИМЕЧАНИЕ. Я думаю, что описание вопроса неясно и может быть истолковано как противоположное: «Как отправлять события ввода с клавиатуры при нажатии кнопки», вместо: «Как вызвать нажатие кнопки на основе ввода с клавиатуры». Но не было бы смысла получать намерения пользователя через событие и переводить его в другой тип события, чтобы последовательно перехватывать его. Поэтому я предпочитаю второе толкование.

0
ответ дан Ernesto Stifano 19 January 2019 в 13:01
поделиться
Другие вопросы по тегам:

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