次のような理由があります。テキストボックスをぼかす(入力)と、特定の条件でステータスボックスにテキストを書き込み、ボタンをクリックするとステータスボックスにテキストが書き込まれます。GWT:イベントをキューに入れる方法(Swing invokeLater()に相当)?
ボタンをクリックすると、フォーカスが当たっている場合にtextBoxがぼやけて、最初にステータスボックスがちらつくようになり、blurHandlerがその結果を書き込み、次にclickHandlerが表示されます。 clickHandlerの結果を私の考え方にしたいのは、clickHandlerが以前に結果を書き込んだかどうかをチェックするイベントをキューの最後に配置させることです。
スイングでは、SwingUtilities .invokeLater(Runnable)を試してみます。 GWTの同等物はSchedulerと言われていますが、これらの遅延または最終的なコマンドは常に現在のイベントの後で次のイベントの前に実行されるようです。 これまでのところ、Scheduler.scheduleFixedDelayを100msの遅延で使用し、各ブラウザのclickHanlderの後に来ることを願っています。 同様に答えをproblemとしてください。
私はこれのためのより良い解決策があると思います。 どのようにキューの最後にイベントを追加するか、HTMLの制限のために不可能ですか?
注を参照してください。スケジューラはキューの最後にイベントを追加しますが、イベントが完了した後に次のイベントが生成されることがあります。この効果はすべてのブラウザに表示されますか? –
はいすべてのブラウザにエフェクトが表示される –
これが最適な解決策であるかどうかはわかりませんが、textBoxのぼかしではフォーカスが特定のボタンに移動したかどうかを確認する必要があります。それは非常にエレガントなようではありません。おそらく、このリンクは役立ちます:http://stackoverflow.com/questions/7096120/how-to-determine-where-focus-went – nogridbag