«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как устранить неправильный ввод клавиш во время симуляции нажатия клавиш в Chrome?

Как устранить неправильный ввод клавиш во время симуляции нажатия клавиш в Chrome?

Опубликовано 3 ноября 2024 г.
Просматривать:891

How to Resolve Incorrect Key Input During Keydown Simulation in Chrome?

Имитация нажатия клавиши в Chrome: устранение неполадок с неправильным вводом клавиши

В веб-приложении, созданном с использованием Chrome, имитация события нажатия клавиши в элементе текстовой области может столкнуться с проблемами. Несмотря на попытку указать конкретный код ключа, текстовая область может получить неправильное значение ключа, например, клавишу Enter вместо желаемой клавиши.

Чтобы решить эту проблему, вы можете использовать собственный код, который переопределяет оба параметра ' keyCode» и «который» в объекте «KeyboardEvent». «keyCode» — это устаревшее свойство, которое было устаревшим в пользу «который». Chrome ведет себя по-разному со следующими свойствами:

  • В Firefox или Safari необходимо переопределить только «keyCode».
  • В Chrome необходимо переопределить как «keyCode», так и «который».

Следующий код представляет собой пример того, как имитировать событие нажатия клавиши с правильным значением «который» в Chrome:

var keyEvent = document.createEvent('KeyboardEvent');

// Override 'keyCode' and 'which' properties
Object.defineProperty(keyEvent, 'keyCode', { get: function() { return this.keyCodeVal; } });
Object.defineProperty(keyEvent, 'which', { get: function() { return this.keyCodeVal; } });

keyEvent.initKeyboardEvent('keydown', true, false, null, 0, false, 0, false, 77, 0);
keyEvent.keyCodeVal = 77;
inputNode.dispatchEvent(keyEvent);

Этот код переопределяет свойства «keyCode» и «what», гарантируя, что Chrome правильно интерпретирует событие и запускает желаемое значение ключа (77) для клавиши «m».

Заявление о выпуске Эта статья перепечатана по адресу: 1729225517. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3