3

現在、HTML + Javascript を使用して Windows 8 でアプリを開発しています。アプリ内で iFrame を使用しており、キーボード イベント用の keyeventlisteners を追加しました。

ただし、マウスを右クリックするとアプリバーが表示され、アプリのフォーカスが奪われるため、すべてのキーボード イベントが何も実行されなくなります。しかし、もう一度右クリックしてアプリバーを閉じると、すべて正常に動作します。

フォーカスのあるアプリバーが Microsoft の設計によるものかどうかは誰にもわかりませんか? それとも、フォーカスを iFrame に戻す方法ですか?

ありがとう!

4

1 に答える 1

0

これは意図的なものです。これは、ユーザーがアプリ バーを表示したい任意の方法を使用してから、キーボードを使用してそれを制御できるようにするためです。動作を検証する優れた方法は、VS で既定の「グリッド テンプレート」アプリを作成し、Appbar のコメントを外して、いくつかのボタンを追加してから、動作をテストすることです。

ただし、スティッキーアプリバーとスティッキー アプリバーでは期待値に違いがあることに注意してください。非スティッキーの場合、フォーカスをアプリ バーに移動する必要があります。これは、(キーボードを使用している場合に) アプリ バーを閉じずに移動する方法が他にないためです。ただし、ジェスチャ (右クリック、win-z、またはタッチでのスワイプ) を使用することによってのみ解除されるスティッキーでは、デフォルトでフォーカスが置かれなくても問題ありません。

ソリューションは、IFRAME ではなく、ドキュメント レベルで偶数ハンドラーをアタッチすることになる可能性があります。これは、2 つのコンテキスト間のメッセージングの性質により複雑になります。

于 2012-08-29T23:25:37.983 に答える