1

キーボード イベントとマウス イベントの両方をキャプチャする Javascript コードを作成しました。アイデアは、ページ上の要素 (TD) をタップするたびに選択され (基本的にはクラスを変更して強調表示されるだけです)、矢印キーを使用して選択されている要素を変更できるというものです。

ただし、携帯電話 (Gingerbread を実行) の標準の Android ブラウザーでこのページを表示すると、ブラウザーはすべてのイベントを消費し、ページが機能しなくなります。具体的には、ページ上のアイテムをタップすると、テキストを囲むオレンジ色の丸いボックスが表示され、私のページはイベントを取得しません。上下の矢印キーを押すと、ボックスが移動しますが、私のコードはこれを行っていません。ブラウザが行っているようです。

何が起こっているのかは、ブラウザが何らかの形で「役立つ」ようにしようとしていると思われます。私が探しているのは、ブラウザーにこれを行わないようにヒントを与える方法、またはこの動作を無効にする方法です。

更新: これは、私が見ている問題のより具体的な例です。さまざまなキーに対応するキーコードを確認するためだけに、次の単純なリスナーを設定しました。

document.onkeydown = function(evt) {
    alert(evt.which)
}

ここで、カーソルが TextField にあり、携帯電話の Enter キーを押すと、アラートがポップアップして「13」と表示されます。しかし、フォーカスを別の要素 (この場合は TD) に移動すると、Enterキーを押しても何も起こりません。

更新: 半ダースの異なるブラウザーをインストールしようとしました。それらはすべて矢印キー (これはデバイス上の物理キーボードです) を飲み込み、実際に使用できるようにイベントを Web アプリに渡す代わりに、それらを使用して画面をスクロールしたり、ページ上のさまざまな要素を強調表示したりするようです。彼らは私がやりたいことをするために!これを行わないブラウザは Firefox だけです。

4

0 に答える 0