使用 JavaScript 检测 Android 4.0+ Web View 中的键盘事件

Detect Keyboard event in Android 4.0+ WebView using JavaScript

本文关键字:View 键盘 事件 Web JavaScript 检测 Android 使用      更新时间:2023-09-26

我想检测键盘单击事件(软键盘或物理键盘)

我有一个简单的html和JS,可以在Mac/Windows的各种浏览器中运行良好,即使在Android的Chrome浏览器中也是如此(可以检测到软键盘和物理键盘)。 我知道WebView可能不是基于Chrome的(直到4.4)

document.onkeyup = function(event){
    alert("found keyup with value: " + event.which); 
};

在Android应用程序中,我有一个打开同一网页的WebView,

不知何故,上面的代码无法检测到任何按键。 我尝试使用不同的方法来获取密钥事件,例如 JQuery:

$(document).keyup(function(event){
    alert("keyup with value: " + event.which); 
 });    

键盘事件是否在安卓的 WebView 中被禁用?

解决方案是请求焦点...

    _webView = (WebView) findViewById(R.id.my_super_webview);
    _webView.requestFocus(View.FOCUS_DOWN);

并且并非所有键盘按下都可以检测到,例如,Android"菜单"按钮