JQueryの「表示」と「非表示」メソッドを使用してページのコンテンツを動的に変更するWebWorksアプリケーションの開発に取り組んでいます。プログラムでブラックベリーウェブワークアプリケーションのフォーカスを変更
アプリケーションは、最初にいくつかのテキスト入力とJQueryスタイルのハイパーリンクボタンを含むページを読み込みます。開始ページのフォーカスは、x-blackberry-initialFocus属性で定義されます。
ハイパーリンクボタンの1つが選択されると、JQueryは表示されたテキスト入力とボタンを隠し、別のテキスト入力とハイパーリンクボタンのセットを表示します。この時点で、フォーカスナビゲーションが中断し、フォーカスのある要素がないように見えます。
私は、自分のconfig.xmlにblackberry.focusを使用し、 "blackberry.focus.setFocus( 'my_text_input_id')"を実行する権限を追加しようとしましたが、何の効果もありませんでした。
jQueryのshowメソッドのコールバック関数でsetFocusを呼び出すことによって、目的のHTML要素がDOMに追加された後にsetFocusの呼び出しが実行されたことが保証されました。また、JQueryを使用して、setFocusを呼び出して要素が存在していることを確認してから、目的のテキスト入力を選択しました。
さらに、setFocus()を呼び出す前後でblackberry.focus.getFocus()を呼び出しましたが、getFocus()メソッドは各呼び出しで空の文字列を返しました。
なぜ私は焦点を取り戻すことができないのですか?