我在处理TextArea上的点击事件时遇到问题。我正在使用Flash Mobile开发移动应用。我想在区域中显示默认文本,并在用户选择字段时使其消失。
问题是,只有当我点击TextArea的边框时才会抛出该事件。选择光标处于活动状态时,它永远不会发生。我还尝试向notesInput添加一个错误的可编辑属性,并在处理程序中将其设置为true,它没有帮助。
private function notesClickHandler(event:Event):void{
notesInput.text = "";
notesInput.removeEventListener(MouseEvent.CLICK, notesClickHandler);
form.invalidElements;
}
<TextArea id="notesInput" text="Poznámky.."
height="150" width="100%"
verticalScrollPolicy="auto"/>
谢谢你们的时间和帮助。
答案 0 :(得分:2)
您可以使用符合要求的提示文字:
<s:TextArea id="notesInput"
prompt="Default Text"
height="150" width="100%"
verticalScrollPolicy="auto"/>
当你聚焦时,它不会清除默认文本。但是当你在TextArea中聚焦时,你可以通过清除提示文本来实现这一点。
<fx:Script><![CDATA[
private function onFocusIn():void
{
notesInput.prompt = "";
}
private function onFocusOut():void
{
notesInput.prompt = "Default Text";
}
]]></fx:Script>
<s:TextArea id="notesInput"
prompt="Default Text"
height="150" width="100%"
verticalScrollPolicy="auto"
focusIn="onFocusIn()"
focusOut="onFocusOut()"/>
答案 1 :(得分:1)
为此您可以使用focusIn
这样的事件:
private function text_area_focusInHandler(event:FocusEvent):void
{
text_area.text = ''
}
<s:TextArea id="text_area" x="10" y="10" focusIn="text_area_focusInHandler(event)" text="default text"/>