-1
有一个文本字段,我在其中设置默认文本“昵称”作为水印。如果用户在文本字段中输入文本“昵称”,我想提醒他输入的文本不能是昵称。问题是我怎么知道用户输入文本“昵称”或它已经是一个水印。动作脚本3
有一个文本字段,我在其中设置默认文本“昵称”作为水印。如果用户在文本字段中输入文本“昵称”,我想提醒他输入的文本不能是昵称。问题是我怎么知道用户输入文本“昵称”或它已经是一个水印。动作脚本3
如果您要在TextField中真正拥有“昵称”,则必须检查该字段是否已被编辑。例如:
private var wasTextFieldUserEdited:Boolean = false;
private function init() : void
{
var tf:TextField = new TextField();
tf.type = TextFieldType.INPUT;
tf.text = "nickname";
tf.addEventListener(Event.CHANGE, onChange);
tf.addEventListener(FocusEvent.FOCUS_OUT, onFocusOut);
// ...
}
private function onChange(e:Event) : void
{
wasTextFieldUserEdited = true;
}
private function onFocusOut(e:FocusEvent) : void
{
if (wasTextFieldUserEdited)
{
if (tf.text == "nickname")
{
trace("CAN'T USE THE WATERMARK!");
}
else
{
trace("NAME IS OK!");
}
// ...
}
}
也就是说,你应该考虑在INPUT TextField中根本没有“昵称”。相反,您可能会在INPUT之一(相同的x,y)下方直接放置另一个DYNAMIC TextField,并在INPUT TextField获取FocusEvent.FOCUS_IN事件时将其隐藏。在这种情况下,您将启动INPUT TextField为空白。一旦用户离开INPUT TextField,您可以再次显示DYNAMIC TextField(带有“昵称”水印),如果用户输入了空白或使用了水印文本。
如果您使用“昵称”的人遇到的问题仅仅是您无法确定是否输入了任何新文本,则上述解决方案将允许您知道有人实际上有意键入了“昵称”,并且所以可能允许你允许。
你能证明你到目前为止尝试过吗? – xxbbcc