0

私のアプリでは、ユーザーはすべての矢印キーを使用してキーボードでグリッド内を移動し、Enterキーを押してエスケープすることができます。ユーザーは、リンクを含むアイテムを開いたり閉じたりできます。ユーザーがWebビューへのリンクを開き、Webビューがファーストレスポンダーを取得し、ユーザーがHTML入力内で編集していない場合でも、ユーザーがキーボードを使用してナビゲートできるようにする必要があります。したがって、ユーザーがWebページを読んでいるときに左矢印キーを押すと、グリッド内を左に移動するようになります。Webビューがロードする各ページにJavaScriptを挿入する以外の方法で、これを検出することは可能ですか?NSWindow sendEventプロトコルをオーバーライドまたは実装する方法は知っていWebEditingDelegateますが、ユーザーがWebビュー内で編集しているかどうかを検出する方法はありますか?

4

1 に答える 1

0

ユーザーがJavascriptを使用せずにWebview内で編集しているかどうかを検出する方法はわかりませんが、アプリによっては問題にならない場合があります。sendEventユーザーが常に呼び出されるとは限らないhtml入力フィールド内で編集していNSWindowて、WebViewがエスケープキーやリターンキーなどの一部のキーを除いて、ほとんどのイベントを飲み込んでいることに気付きました。sendEventしたがって、firstResponderがWebビューであるかどうかをオーバーライドしてテストするだけです。そうである場合は、関心のある主要なイベントを独自のイベントハンドラーにリダイレクトして、webViewがこれらの重要なイベントをすべて飲み込まないようにすることができます。

于 2012-10-01T14:03:01.210 に答える