Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

JavaScriptでKeyCodeを取得する方法 

Android操作について以下のように、イベントを生成し、
JavaScript側でKeyCodeを取得し、処理をしようと思ったのですが、JavaScript側でのKeyCodeは0です。
予定では、「78」だとおもったのですが・・・
どうすれば、KeyCodeが取れるようになるのでしょうか?

---Android---
if (wv.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_ALT_LEFT)) && currentPage < maxPage) {}

---JavaScript---
window.onkeydown = function(event){
    if(event.keyCode == 78){// "N"
        xxxxxxxxxx;
    }

2

回答

5357

閲覧

2件の回答

評価

0

イベントの発生タイミングと取得タイミングは?

評価

0

もともとWebViewのJavaScriptではAltキーのハンドリング
が出来ないようです。
SDK 8、エミュレータ2.2の環境でソフトウェアキーボード
でALTキーを押してもキーコード[0]が取れます。

どうしてもALTキーをハンドリングしたい場合は、
WebViewのonKeyDownをオーバーライドするとかやれば
いけそうですが・・・

当方の環境では、他のキーコードで試したらちゃんと
とれましたよ

あとキーコード78はNキーだと思います。
ALTは18です。
(ブラウザによっては違う場合もあるけど)

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。