我有一个文本字段,只有当我输入时才会有一个按钮转到下一个。 但我也想让它以另一种方式工作,所以当我拿走文本字段中的文本时,按钮再次变得不可见。
我对AS3知之甚少,所以如果有人可以帮助我
感谢。
import flash.text.TextField;
var myFont = new Font1();
var myFormat:TextFormat = new TextFormat();
myFormat.size = 35;
myFormat.align = TextFormatAlign.LEFT;
myFormat.font = myFont.fontName;
var text1:TextField = new TextField();
text1.defaultTextFormat = myFormat;
text1.embedFonts = true;
text1.antiAliasType = AntiAliasType.ADVANCED;
text1.text = ""
text1.type = TextFieldType.INPUT;
text1.textColor = 0xEC8DAD;
text1.width = 399;
text1.height = 256;
text1.x = 158.95;
text1.y = 307.20;
text1.border = true;
text1.borderColor = 0xDA1C5C;
text1.wordWrap = true;
addChild(text1);
var Button:Next = new Next();
Button.x = 663;
Button.y = 546;
Button.visible = false;
Button.useHandCursor = false;
addChild(Button);
text1.addEventListener(TextEvent.TEXT_INPUT,handler);
function handler(event:TextEvent){
Button.enabled=true
Button.visible = true;
}
答案 0 :(得分:0)
您可以使用ENTER_FRAME
侦听器。
var tf:TextField; //your textfield
var button:Button; //your button
addEventListener(Event.ENTER_FRAME, onEnterFrame); //calls this function EVERY frame
function onEnterFrame(ev:Event):void
{
if(tf.text == "")
{
button.visible = false; //turn your button invsible
}
else
{
button.visible = true; //turn your button visible
}
}
优势在于,您的TextField
将在您的swf的每一帧都被检查。因此,一旦从文本字段中删除所有文本,该按钮将立即消失,否则如果TextField中至少有一个字符,则会出现按钮。
答案 1 :(得分:0)
您可以使用Event.CHANGE
事件。
text1.addEventListener(Event.CHANGE,handler);
function handler(event:Event){
if (text1.text) {
Button.enabled = true;
Button.visible = true;
} else {
Button.enabled = false;
Button.visible = false;
}
}