首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >安卓系统中的KeyboardEvent密钥密码是未知的吗?

安卓系统中的KeyboardEvent密钥密码是未知的吗?
EN

Stack Overflow用户
提问于 2019-12-20 14:31:41
回答 2查看 1.6K关注 0票数 10

我将从keydown事件中得到一个Char。

在所有浏览器中,我都可以使用event.key,它运行得很好,但在android中,结果却是另外一回事:

代码语言:javascript
代码运行次数:0
运行
复制
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 获取密钥代码或密钥字符串?

EN

回答 2

Stack Overflow用户

发布于 2022-06-28 11:48:18

我在安卓系统中也遇到了同样的问题。我发现使用输入事件解决了问题。此事件包含实际上键入的整个字符串,因此,如果您只输入了最后一个字符,则只需取字符串"event.data“的最后一个字符即可。

代码语言:javascript
代码运行次数:0
运行
复制
        document.addEventListener('input',function(event){
        console.log(event)
        let word = event.data === null ? '' : event.data
        input.search(word)

    })
票数 1
EN

Stack Overflow用户

发布于 2022-02-18 00:46:05

虽然这个问题很老,但我是在寻找类似的东西的时候来到这里的,也许这能帮助别人。

假设您通过以下途径获得HTML文本:

代码语言:javascript
代码运行次数:0
运行
复制
<textarea id="my_input"></textarea>

或者:

代码语言:javascript
代码运行次数:0
运行
复制
<input id="my_input"></input>

假设您希望将最后一个字符输入到JavaScript中的中,那么如果您获得输入的值并将除最后一个字符之外的所有内容切片,它都能工作:

代码语言:javascript
代码运行次数:0
运行
复制
document.addEventListener('keyup', function(event) {
    val lastchar = document.getElementById('my_input').value.slice(-1);
});

注意: lastchar也会包含像新行这样的特殊字符。

这在Android12上有效,而(正如您所指出的) event.key不起作用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59426933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档