4

新しいKindle Fire HDタブレットでdeleteキーとenterキーのkeydownイベントを発生させることしかできません。

組み込みの Silk ブラウザを使用しています。Google で、keydown イベントが発生していることがわかります。彼らはどのようにしてそれを機能させたのですか?

Silk ブラウザーでhttp://unixpapa.com/js/testkey.htmlのようなキーボード テスト Web サイトにアクセスしても、起動しません。誰もこれに対する回避策を持っていますか?

$("#simpleSearch_input").keydown(function(evt) {
    alert("keydown");
});
4

1 に答える 1

0

「keyup」の代わりに「input」イベントを使用する必要があります

キーボード イベント(HTML5)の順序は、keydown->keypress->input->keyup です。

入力イベントには、keyCode / metaKey/shiftKey/altKey などの keyup も渡すいくつかのプロパティがありません。

私が使用した:

ウィンドウ内の var inputEV = 'oninput' ? 'input' : 'keyup'

Silk ブラウザーでオートコンプリート呼び出しをトリガーしたイベントを定義します。

テストするために jsfiddle で使用される jQuery コード。

(function($){
            $(document).ready(function(){
                var inputEV = 'oninput' in window ? 'input' : 'keyup';
                $('#listen').on(inputEV,function(event){                        
                    $('#show').val($('#show').val()+'\n'+event.type);
                    console.log('--- input event ----');
                    for(var v in event.originalEvent){ 
                        if(event.hasOwnProperty(v)){
                            console.log(v+' |--> '+event[v]);
                        }
                    }
                })
                //just added to see what Silk listens for on the keyup event
                $('#listen').on('keyup',function(event){                        
                    $('#show').val($('#show').val()+'\n'+event.type+' | which --> '+event.which);
                    console.log('--- keyup event ----');
                    for(var v in event.originalEvent){ 
                        if(event.hasOwnProperty(v)){
                            console.log(v+' |--> '+event[v]);
                        }
                    }
                })                  
            });
        })(jQuery);

jsfiddle のリンク:

http://jsfiddle.net/visionmonster/eJJna/embedded/result/

元の質問のように、Silk ブラウザーに削除/入力のキーアップをリッスンさせることしかできませんでした。

HTML5 仕様: http://www.whatwg.org/specs/web-apps/current-work/#handler-oninput

于 2013-05-14T19:41:57.953 に答える