Я использую компонент чипов materialize-css в угловом приложении.Для создания фишек я должен нажать Enter.но в мобильном телефоне нет клавиши ввода.
SO Я добавил событие textInput на элемент ввода чипов, и если пользователь нажмет запятую, оно отправит событие ввода клавиши.
__element.addEventListener('textInput', function (__event) {
const keyCode = __event.data.charCodeAt(0);
const COMMA_KEY_CODE = 44;
if (keyCode == COMMA_KEY_CODE) {
__event.preventDefault();
__event.currentTarget.dispatchEvent(new KeyboardEvent('keydown', { key: "Enter" }));
}
});
При нажатии запятой я получаю событие, но ононе отправляет событие ввода.
Но если я использую следующую строку для отправки события ввода ключа
__event.currentTarget.dispatchEvent(new KeyboardEvent('keydown', { keyCode: 13 }));
, оно показывает
Argument of type '{ keyCode: number; }' is not assignable to parameter of type 'KeyboardEventInit'.
Object literal may only specify known properties, and 'keyCode' does not exist in type 'KeyboardEventInit'.
Но тот же код работает, еслия запускаю его прямо на консоли.
Проблема на GitHub: https://github.com/Dogfalo/materialize/issues/5722