Ben*_*eys 8 javascript unicode localization ime
我甚至不确定这是否可行,如果这是一个愚蠢的问题,请道歉.
keyup当用户输入输入框时,我通过jQuery 设置回调来运行一个函数.它适用于英语.
但是,当输入日文/韩文/中文文本时,在用户确认其文本之前不会调用该功能.
是否有可能检测到他们已经开始输入,并访问他们尚未完成的文本?
我想也许这是一个操作系统级别的东西,所以Javascript无法访问它.
编辑:我刚刚意识到这适用于Chrome和Safari,但不适用于Firefox(还没有机会在Windows上试用).因此,Chrome会调用keyup,因此可以获取文本.但我仍然在Firefox中遇到上述问题.
Jam*_*son 15
的compositionstart,compositionupdate而compositionend事件可能会有所帮助.它们可以帮助您检测何时使用IME输入.
例如,考虑使用IME在日语中键入か(ka).
将触发以下事件(按所示顺序):
请注意,仅当IME可见时(enter按下之前)才会触发组合事件.另请注意,未触发按键事件.这仅针对非IME输入触发.
要访问用户的未完成文本,您可以使用data事件的属性.
$('#input').on('compositionupdate', function(e) {
console.log(e.data);
});
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅MDN:compositionstart,compositionupdate,compositionend,InputEvent.
| 归档时间: |
|
| 查看次数: |
5096 次 |
| 最近记录: |