BUG: Focusmanager and ErrorInputFields? in as 8
Focusmanager combined with errorinputfield did not work in flash 8
found out that the present Inputfield's (errorInputField instance) onKillFocus was fired when the tab key was pressed.
therefore the focus was lost, and focusmanager's checkFOcus() returned -1, effectively blocking the sequence where the next field is selected.
the test case code is a hack in Focusmanager.as where I manually call onChangeTextFocus on the old instance after setFocus is called on the new instance.
I also needed to comment out the onKillFocus functionality in
InputField? .as
due to some limited time i cannot make a good test case, but it happend in flash 8 authoring tool and in an online enviroment (embedded in html)
Test case
private function changeFocus ( inPrevFocus:Number, inNewFocus:Number ) : Void {
-
- Console.INFO("changeFocus
- " + arguments); // store new focus mFocusIndex = inNewFocus;
// yes, change focus
IFocus(mFocusList[mFocusIndex]).setFocus();
//[:ROLF:] hack for interference with
InputField? (the default onKillFocus interfered with the focusmanager)
//seems it was executed when a tab key was pressed. the focus was set to false and the focusmanager returned -1 for checkFocus
//flash 8
mFocusList[inPrevFocus].onChangeTextFocus(false);//not typecasted becuase interface doesn't implement onChangeTextFocus
// dispatch onChangeFocus event
dispatchEvent(new
FocusEvent? (
FocusEvent? .ON_CHANGE_FOCUS, this, mFocusList[inPrevFocus], mFocusList[mFocusIndex]));
}
Environment
| ASAP version: |
0.94 |
| Flash Plugin version: |
|
--
DeKale - 08 Aug 2007
Follow up
Fix record
Topic revision: r1 - 08 Aug 2007 - 12:01:11 -
UnknownUser (TWikiUserMapping_DeKale)