Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 26.11.2013, 13:06
vivado вне форума Посмотреть профиль Отправить личное сообщение для vivado Найти все сообщения от vivado
  № 1  
Ответить с цитированием
vivado

Регистрация: Aug 2010
Сообщений: 282
По умолчанию Исчезающая фраза в поле ввода

Всем привет,
На сцене есть поле ввода myText с надписью "Введите что-нибудь" светло серого цвета.
Хочу сделать чтобы при клике на поле данная надпись исчезала и данные вводились новым цветом.
Пока есть такой код, цвет шрифта меняется, но при очищении поля myText.text = ""; текст вводится снова светло-серым.

Код AS3:
var format:TextFormat = new TextFormat();
format.color = 0x000000;
 
	myText.addEventListener(MouseEvent.CLICK, selectTextColor);
 
	function selectTextColor(e:Event){
		myText.setTextFormat(format);
		myText.text = "";
	}

Старый 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.
Старый 26.11.2013, 13:39
vivado вне форума Посмотреть профиль Отправить личное сообщение для vivado Найти все сообщения от vivado
  № 3  
Ответить с цитированием
vivado

Регистрация: Aug 2010
Сообщений: 282
Спасибо.

Создать новую тему Ответ Часовой пояс GMT +4, время: 00:00.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
textfield , textformat
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 00:00.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.