我有一個自定義TextInput
用於偵聽FocusEvent.FOCUS_IN
和FocusEvent.FOCUS_OUT
事件:自定義TextInput組件失去焦點但仍包含光標?
textDisplay.addEventListener(FocusEvent.FOCUS_IN, onFocusInHandler);
textDisplay.addEventListener(FocusEvent.FOCUS_OUT, onFocusOutHandler);
我onFocusInHandler
功能基本消除,告訴用戶輸入一個值「promptview」,用onFocusOutHandler
做相反。
例如,如果TextInput文本被退格爲空白值,並且用戶單擊了TextInput框,則會在TextInput中顯示「請輸入值」淺灰色提示。
,直到用戶點擊我們自定義的「清除」按鈕,這工作得很好。清除按鈕將文本設置爲「」,並且我可以告訴FocusEvent.FOCUS_OUT
被接收,因爲提示文本被設置爲可見的(其未在其他地方設置)。問題是,光標停留在框中,如果它仍然具有焦點,因此如果用戶立即開始打字,都提示文本「請輸入值」 和用戶鍵入的文本顯示在灰色的文本,該文本看起來相當醜陋,難以理解。
爲什麼了TextInput收到FocusEvent.FOCUS_OUT
事件,如果它沒有真正失去焦點?有什麼方法可以解決這個問題嗎?
你是否禁用組件?我的經驗是,Spark TextInput在禁用時失去焦點時不能正確地進行視覺更改。 –
您是使用Spark TextInput還是MX TextInput?火花TextInput是否默認這樣做?只需使用提示屬性。 http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/spark/components/supportClasses/SkinnableTextBase.html#prompt – JeffryHouser