#javascript #triggers #keydown
#javascript #триггеры #нажатие клавиши
Вопрос:
Я просто пытаюсь запустить три нажатия клавиши q для вызываемой функции
функция threeqs(){запускает три q-штриха}
Комментарии:
1. Используйте dispatchEvent developer.mozilla.org/en-US/docs/Web/API/EventTarget /…
2. можете ли вы написать конкретный пример для использования буквы q?
3. Обратите внимание, что события нажатия клавиши могут быть применены только к содержимому страницы.
Ответ №1:
В Javascript вы можете программно запускать события, используя EventTarget.dispatchEvent(event)
Вы могли бы написать что-то вроде этого, чтобы запустить ваше событие три раза:
var element = document.createElement("p");
element.dispatchEvent(new KeyboardEvent('keydown',{'key':'q'}));
element.dispatchEvent(new KeyboardEvent('keydown',{'key':'q'}));
element.dispatchEvent(new KeyboardEvent('keydown',{'key':'q'}));
var element = document.createElement("p");
element.addEventListener('keydown', logKey);
element.dispatchEvent(new KeyboardEvent('keydown',{'key':'q'}));
element.dispatchEvent(new KeyboardEvent('keydown',{'key':'q'}));
element.dispatchEvent(new KeyboardEvent('keydown',{'key':'q'}));
function logKey(e) {
//Do your stuff
console.log(e.key);
}
Комментарии:
1. не могли бы вы привести пример?
2. я получаю логическое значение при присвоении переменной.
3. Я приложил небольшой пример к исходному ответу, надеюсь, это поможет!
4. это просто регистрация буквы q? Я пытаюсь выполнить нажатие кнопки q три раза, не прикасаясь к клавиатуре, захват буквы q точно правильный, но вместо консоли я хочу, чтобы буква была нажата, как если бы я печатал, фактически не печатая.
Ответ №2:
Вот и все
document.dispatchEvent(new KeyboardEvent('keydown', {'key': 'q'}))
Комментарии:
1. repl.it/@MathewStratton1/WelloffClutteredTriggers#index.php
2. Я пытаюсь переключиться на второй div, чтобы запустить таймер, дважды нажав кнопку q, я ввел ваш код дважды подряд в функцию freckleMeTonsForBurnCooknessOntheGrillSet(), и это не сработало. если вы видите repl и нажимаете Apes, и начинаете с undefined, а затем вручную дважды нажимаете q. часы запустятся, но идея состоит в том, чтобы компьютер программно нажимал две кнопки q, чтобы часы запускались.
3. не могли бы вы привести пример? я получаю логическое значение, когда я регистрирую это в консоли