机器人的WebView:处理JavaScript中的方向键 [英] android WebView: Handle arrow keys in JavaScript
本文介绍了机器人的WebView:处理JavaScript中的方向键的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有我想控制使用键盘一个简单的WebView应用程序。 是否有可能在JavaScript赶上方向键?
我曾尝试以下code没有任何的运气:
函数handleArrowKeys(EVT){
console.info(钥匙);
}
document.onkeyup = handleArrowKeys;
document.onkedown = handleArrowKeys;
document.onke preSS = handleArrowKeys;
JavaScript是在web视图启用
WebSettings webSettings = webview.getSettings();
webSettings.setJavaScriptEnabled(真正的);
webSettings.setDomStorageEnabled(真正的);
解决方案
您应该覆盖的WebView的的onkeydown
方法。
请参阅: http://blog.csdn.net/focusxi/article/details/6780965一>
@覆盖
公共布尔的onkeydown(INT键code,KeyEvent的事件){
INT valKey = 0;
的System.out.println(Web密钥:);
的System.out.println(键code);
开关(钥匙code){
//向上
案例50:
案例19:
valKey = 19;
打破;
//向下
案例83:
案例20:
valKey = 20;
打破;
//剩下
案例81:
案例21:
valKey = 21;
打破;
//对
案例69:
案例22:
valKey = 22;
打破;
}
如果(valKey!= 0)
{
//新的KeyEvent(KeyEvent.ACTION_DOWN,KeyEvent.KEY code_SHIFT_LEFT);
KeyEvent的EVENT1 =新的KeyEvent(KeyEvent.ACTION_DOWN,valKey);
的System.out.println(event1.getKey code());
返回super.onKeyDown(38 EVENT1);
}
其他
{
返回super.onKeyDown(键code,事件);
}
}
}
I have a simple WebView application which I want to control with the keyboard. Is it possible to catch arrow keys in javascript?
I have tried the following code without any luck:
function handleArrowKeys(evt) {
console.info('key');
}
document.onkeyup = handleArrowKeys;
document.onkedown = handleArrowKeys;
document.onkepress = handleArrowKeys;
javascript is enabled in the webview
WebSettings webSettings = webview.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setDomStorageEnabled(true);
解决方案
You should overwrite the onKeyDown
method of WebView.
See: http://blog.csdn.net/focusxi/article/details/6780965
@Override
public boolean onKeyDown(int keyCode, KeyEvent event){
int valKey = 0;
System.out.println("Web KEY:");
System.out.println(keyCode);
switch(keyCode){
//UP
case 50:
case 19:
valKey = 19;
break;
//DOWN
case 83:
case 20:
valKey = 20;
break;
//LEFT
case 81:
case 21:
valKey = 21;
break;
//RIGHT
case 69:
case 22:
valKey = 22;
break;
}
if (valKey!=0)
{
//new KeyEvent(KeyEvent.ACTION_DOWN,KeyEvent.KEYCODE_SHIFT_LEFT);
KeyEvent event1 = new KeyEvent(KeyEvent.ACTION_DOWN, valKey);
System.out.println(event1.getKeyCode());
return super.onKeyDown(38, event1);
}
else
{
return super.onKeyDown(keyCode, event);
}
}
}
这篇关于机器人的WebView:处理JavaScript中的方向键的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文