Показать сообщение отдельно
Старый 26.11.2013, 13:23
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 2  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
используйте не setTextFormat, а defaultTextFormat
Код AS3:
package  {
 
	import flash.display.Sprite;
	import flash.events.FocusEvent;
	import flash.text.TextField;
	import flash.text.TextFieldType;
	import flash.text.TextFormat;
 
 
	public class TestClass extends Sprite {
 
		private var _greyFormat:	TextFormat 	= new TextFormat("verdana", 14, 0xC0C0C0, null, null, null, null, null, "right");
		private var _blackFormat:	TextFormat 	= new TextFormat("verdana", 14, 0x000000, null, null, null, null, null, "right");
		private var _textField:		TextField	= new TextField();
		private var _defaultText:	String		= "текст"; 
 
		public function TestClass() {
			_textField.type					= TextFieldType.INPUT;
			_textField.border				= true;
			_textField.width				= 200;
			_textField.height				= 25;
			_textField.defaultTextFormat	= _greyFormat;
			_textField.text					= _defaultText;
			_textField.addEventListener(FocusEvent.FOCUS_IN, onFocusIn);
			_textField.addEventListener(FocusEvent.FOCUS_OUT, onFocusOut);
			addChild(_textField);
		}
 
		private function onFocusOut(e:FocusEvent):void {
			// если введены только пробелы, то меняем текст на текст по умолчанию
			if (_textField.text.replace(/^\s+$/, "").length < 1) {
				_textField.defaultTextFormat	= _greyFormat;
				_textField.text	= _defaultText;
			}
		}
 
		private function onFocusIn(e:FocusEvent):void {
			if (_textField.text.replace(/^\s+$/, "").length > 0 && _textField.text == _defaultText) {
				_textField.defaultTextFormat = _blackFormat;
				_textField.text = "";
			}
		}
	}
}


Последний раз редактировалось caseyryan; 26.11.2013 в 13:34.