我将从keydown
事件中得到一个Char。
在所有浏览器中,我都可以使用event.key
,它运行得很好,但在android中,结果却是另外一回事:
event.key: unidentified
event.code: ''
event.which: `229` (for [a-z0-9] is always this number)
window.event.keyCode: `229`
这是一个https://stackoverflow.com/questions/45433810/event-key-is-undefined-in-mobile-browsers-for-keyup-keydown-and-keypress,但是它不再工作了。
在android 中测试的代码演示 (IOS和PC工作正常)
如何从KeyboardEvent
获取密钥代码或密钥字符串?
发布于 2022-06-28 03:48:18
我在安卓系统中也遇到了同样的问题。我发现使用输入事件解决了问题。此事件包含实际上键入的整个字符串,因此,如果您只输入了最后一个字符,则只需取字符串"event.data“的最后一个字符即可。
document.addEventListener('input',function(event){
console.log(event)
let word = event.data === null ? '' : event.data
input.search(word)
})
发布于 2022-02-17 16:46:05
虽然这个问题很老,但我是在寻找类似的东西的时候来到这里的,也许这能帮助别人。
假设您通过以下途径获得HTML文本:
<textarea id="my_input"></textarea>
或者:
<input id="my_input"></input>
假设您希望将最后一个字符输入到JavaScript中的中,那么如果您获得输入的值并将除最后一个字符之外的所有内容切片,它都能工作:
document.addEventListener('keyup', function(event) {
val lastchar = document.getElementById('my_input').value.slice(-1);
});
注意: lastchar也会包含像新行这样的特殊字符。
这在Android12上有效,而(正如您所指出的) event.key不起作用。
https://stackoverflow.com/questions/59426933
复制