Javascript:event.preventDefault() 不适用于日语输入法

问题描述 投票:0回答:1

我想创建一个不允许输入任何字符的文本输入(与禁用输入相同,但鼠标光标仍然显示)

function loadPage() {
  const el = document.getElementById('input-id');
  el.addEventListener('keydown', (event) => {
        event.preventDefault();
  });
}
loadPage();
<input maxlength="0" id="input-id">

上面的代码适用于普通字母字符。 但是,当我使用IME输入日文全角字符时,它不起作用(仍然可以输入字符)

您知道问题出在哪里吗?有什么解决办法吗?

javascript html cjk ime
1个回答
0
投票

对于 IME 特定事件,请查看 Composition Event Types 规范。基本上,三个事件可以满足您的需要

compositionstart
compositionupdate
compositionend

© www.soinside.com 2019 - 2024. All rights reserved.