プログラミングのシナリオでは、私のGWTテキストボックスが集中しているかどうかを確認する必要がありました。私はブール値とフォーカスのペアを追加して終わりました。& BlurHandlerを手動でフォーカス状態にしておくと、なぜフォーカス可能なコンポーネントがgwtにフォーカスされているかを返すメソッドがないのだろうか?GWTにisFocused()がないのはなぜですか?
答えて
数年前まで(Firefox 3、Safari 4、ゲームの最後のプレイヤーを指し示して、サポートが追加されているdocument.activeElement
)までは、クロスブラウザーの方法がなかったので。
GWTはSafari 3(Safari 2のサポートは廃止されていると思われます)とFirefox 2(DevModeプラグインはありませんが、Operaはサポートされていません。 DevModeもありません)、サポートされているすべてのブラウザで機能するような機能を提供することはできません。
最後に、私はこれまで問題追跡ツールの強化を依頼した人はいないと思いますが(少なくとも私は見つけられませんでした)。あなたが言ったように、あなたはすでにFocusHandler/BlurHandler(これはクロスブラウザで動作します)を使用して、今日それを行うことができます。
[1] http://code.google.com/webtoolkit/doc/latest/FAQ_GettingStarted.html#What_browsers_does_GWT_support? GWT 2.1.0でサポート(user.agent = gecko、gecko1_8)が削除されていて、IE9のリストは表示されていないFirefox 1.0が一覧表示されているため、そのページは少し古いですGWT 2.3.0で追加されていますが、Operaの最新バージョンのみがサポートされていると思います。
どのブラウザがそれをサポートしているのかについては、MDN:https://developer.mozilla.org/en-US/docs/Web/API/document.activeElement を参照してください。今日、すべての主要なブラウザがサポートしているようですIE 4+、Chrome 2+など)、それを使用することはかなり安全です。 – PhiLho
どのウィジェットにフォーカスがあるのかわかりませんが、あなたはすでに解決策を持っています。 GWTの初心者として、私は私の解決策を共有することを提案する:
- は、ウィジェットの「focusedWidget」
作成フォーカスハンドラのように、オブジェクト内のprivateフィールドを宣言し、ここではクラスのTextBoxです。 OnFocusブロックでは、ウィジェットを 'focusedWidget'に割り当てます。この種のイベントは、フォーカスできるすべてのウィジェットに追加できます。 ![step 2] [2]
- それだけです。あなたが結んだすべてのウィジェットは、フォーカスされるたびにfocusWidgetに設定されます。次に、 'focusedWidget'を使用して、どの現在のウィジェットがフォーカスされているかを判別できます。 ![ステップ3] [3]
JUnit
でテストします。 see image of snippet here 願っています。
これは便利ですが、各項目にもぼかしハンドラを追加する必要があります。現在フォーカスのない項目の状況を検出し、focusedWidgetの値をnullに設定できます。 – Joel
- 1. なぜIsFocusedがラベルに表示されないのですか
- 2. なぜGWTが動作しないのですか?gwt.codesvr = 127.0.0.1:9997
- 3. GWT Cellウィジェットはなぜですか?
- 4. GWTがJava 8でコンパイルできないのはなぜですか?
- 5. 私のLib-GDXプロジェクトがGWTプロジェクトでないのはなぜですか?
- 6. GWTアプリケーションがブラックベリーOS7でクラッシュするのはなぜですか?
- 7. 小さなコードの変更がappengine(GAE/GWT)で有効にならないのはなぜですか?
- 8. GWTのコンパイルでユーザエージェントの指定が必要なのはなぜですか?
- 9. なぜGWT PopupPanelsとDialogBoxはCSS3Pieを好まないのですか?
- 10. MVVMツリービューでIsFocused
- 11. GWTおよびスクリプト#-styleフレームワークが支配的にならなかったのはなぜですか?
- 12. ページングツールバー(GWT 2.4)で2番目のページでグリッドが移動しないのはなぜですか?
- 13. なぜGWT DevModeのシリアル化が100倍遅くなるのですか?
- 14. GWT、Eclipse、Java 1.6.0_14でブレークポイントが無視されるのはなぜですか?
- 15. IEがGWT Window.open()でPDFファイルのダウンロードダイアログを表示しないのはなぜですか?
- 16. gwt - 2つの要素タイプがあるのはなぜですか?
- 17. androidのhasFocus()とisFocused()の違いは何ですか?
- 18. なぜGWTは無料ですか? Googleのメリットは何ですか?
- 19. [GWT]なぜCSSレイアウトコンテナに追加されたウィジェットが見つからないのですか?
- 20. ストレージがいっぱいになるのはなぜですか?
- 21. PHPがlocalstorageにタップできないのはなぜですか?
- 22. Salesforceには、なぜスキンビルダーにOpportunityContactRoleがないのですか?
- 23. 私のコンソールに出力がないのはなぜですか?
- 24. ベクトルの前にプッシュ/ポップがないのはなぜですか?
- 25. python2.7のコードに出力がないのはなぜですか?
- 26. ボールが窓の中央にないのはなぜですか?
- 27. 私のC#にSystem.ServiceProcessライブラリがないのはなぜですか?
- 28. Silverlightのシステムオブジェクトにメソッドがないのはなぜですか?
- 29. このテキストが中央にないのはなぜですか?
- 30. Chromeの領域に幅がないのはなぜですか?
ここに誰もこれに答えることはできません。それを設計したGoogleからの人々の一人が来ることがない限り、それはかなり起こりそうにない。 –
彼らはあなたが思っている以上のものを持っています –
FocusHandlerを使用すると何が問題になりますか? – helpermethod