as3 の textfield プレースホルダーについて簡単な質問があります。
最新のブラウザーまたはモバイル アプリはすべて、テキスト入力フィールドのプレース ホルダーをサポートしています。クリックすると、フォーカスがテキストの先頭に移動し、入力を開始するまでプレースホルダーが残ります。
これがas3でアーカイブ可能かどうか疑問に思っていますか?
乾杯法案
as3 の textfield プレースホルダーについて簡単な質問があります。
最新のブラウザーまたはモバイル アプリはすべて、テキスト入力フィールドのプレース ホルダーをサポートしています。クリックすると、フォーカスがテキストの先頭に移動し、入力を開始するまでプレースホルダーが残ります。
これがas3でアーカイブ可能かどうか疑問に思っていますか?
乾杯法案
わかりましたが、その TextField を手動で処理する必要があります。一般的な手順は次のとおりです。プレースホルダー テキストを保持するフィールドを持つ TextField の下位クラスを用意します。
例:
public class PlaceholderTF extends TextField
{
private var placeholderText:String;
private var currentText:String;
public function PlaceholderTF(prompt:String="Input text here") {
super(); // making a correct TextField out of ourselves
placeholderText = prompt;
currentText = "";
AWUTA = false;
text = "";
}
public override function set text(value:String):void {
if (currentText != value) {
currentText = value;
// calling built-in setter to correctly update text
if (currentText == null || currentText == "") {
super.text = placeholderText;
} else {
super.text = currentText;
}
}
}
}
この解決策はかなり大雑把ですが、うまくいくかもしれません。
var placeholder_text:String = "Search";
myTextField.addEventListener(FocusEvent.FOCUS_IN, focusIn);
myTextField.addEventListener(FocusEvent.FOCUS_OUT, focusOut);
// fire when click to edit
function focusIn(event:Event):void
{
if(myTextField.text == placeholder_text)
{
myTextField.text = "";
}
}
// fire when you clicked out
function focusOut(event:Event):void
{
if(myTextField.text == "")
{
myTextField.text = placeholder_text;
}
}