- 2008年2月20日 13:57
- しらべる
FlashLiteでフォーカス制御をする際にちょっとハマったので、メモします。
ボタンを押したタイミングでモーダルポップアップしたに、そのままだと押したボタンがオーバー状態でフリーズしてしまう。どうやらフォーカスを持ったまま無効になると、こうなるみたい。
なので、以下のようにすることで解決しました。
/** ポップアップ時 */
var focusStore:Object = eval(Selection.getFocus()); //フォーカスオブジェクトを保持
Selection.setFocus(null); // フォーカスを外してから
popupBtn1.enabled = false; // 無効化
popupBtn2.enabled = false; // 無効化
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/** ポップアップから帰ってきたとき */
popupBtn1.enabled = true; //有効化
popupBtn2.enabled = true; //有効化
Selection.setFocus(focusStore); // フォーカスを戻す
フォーカスオブジェクトを保持しておくと、操作を再開しやすいので便利です。
