Текст по подразбиране" в полето за въвеждане на ActionScript, Edapskov
И така, задачата е следната: в полето за въвеждане има текст по подразбиране; ако потребителят започне да въвежда свой собствен текст, текстът по подразбиране изчезва; ако потребителят промени решението си да въведе своя текст, текстът по подразбиране се възстановява.
Нека започнем сActionScript 3.0.
Код на ActionScript 3.0:
/* импортиране на класове */ импортиране на flash.text.*; импортиране на flash.events.FocusEvent; /* променлива, която съхранява текст по подразбиране */ var defaultText:String = "Поле за въвеждане на текст"; /* форматиране на полето за въвеждане на текст */ var textFormat:TextFormat = new TextFormat(); textFormat.color = 0x999999; textFormat.font = "_serif"; textFormat.size = 16; textFormat.leftMargin = 5; textFormat.rightMargin = 5; textFormat.align = TextFormatAlign.LEFT; /* поле за въвеждане на текст */ var textInput = new TextField(); textInput.type = TextFieldType.INPUT; textInput.defaultTextFormat = textFormat; textInput.w ; > > textInput.addEventListener(FocusEvent.FOCUS_OUT,focusOutTextInput); функция focusOutTextInput(event:FocusEvent):vo >
Знам, че ще кажете, че кодът не работи правилно, когато потребителят въведе интервали в полето за въвеждане. Но този проблем може лесно да бъде решен чрез премахване на интервалите в началото и края на въведения текст (например можете да използвате функциятаTrim() от публикацията Полезни функции при работа с String в ActionScript 3.0).
Приблизително (!) същото, но наActionScript 2.0 ще изглежда така.
Код на ActionScript 2.0:
/* променлива, която съхранява текст по подразбиране */ var defaultText:String = "Поле за въвеждане на текст"; /* форматиране на полето за въвеждане на текст */ var textFormat:TextFormat = new TextFormat(); textFormat.color = 0x999999; textFormat.font = "_serif"; textFormat.size = 16; textFormat.leftMargin = 5;textFormat.rightMargin = 5; textFormat.align = "отляво"; /* поле за въвеждане на текст */ var textInput:TextField = this.createTextField("textInput",this.getNextHighestDepth(),50,50,400,24); textInput.type = "вход"; textInput.border = вярно; textInput.setNewTextFormat(textFormat); textInput.text = defaultText; /* функции, които слушат за събития на фокус */ textInput.onSetFocus = function(oldFocus:Object) < if (textInput.text == defaultText) < textInput.text = ""; >> textInput.onKillFocus = функция() < ако (textInput.text.length
Както можете да видите, AS 2.0 има своите специфики. Но не мисля, че е критично :-)
Дата на добавяне: 2013-07-18
Рейтинг на публикацията: 2