Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 是否为ActionScript中的所有输入文本字段提供一个焦点事件侦听器?_Actionscript 3_Flash_Textfield_Dynamic Text - Fatal编程技术网

Actionscript 3 是否为ActionScript中的所有输入文本字段提供一个焦点事件侦听器?

Actionscript 3 是否为ActionScript中的所有输入文本字段提供一个焦点事件侦听器?,actionscript-3,flash,textfield,dynamic-text,Actionscript 3,Flash,Textfield,Dynamic Text,我在安德烈亚斯的帮助下完成了它。我还添加了一些代码来获取目标文本字段的默认文本值。这有助于我在聚焦时将目标字段的文本设置回默认值。谢谢“安德烈亚斯” 是的,通过简单地引用FocusEvent中提供的displayObject,我们可以获得对悬停对象的引用。这允许您创建对悬停对象的通用引用,最终允许您将其放置在任意多个文本字段中 import flash.events.FocusEvent; import flash.text.TextField; input1.addEventListener

我在安德烈亚斯的帮助下完成了它。我还添加了一些代码来获取目标文本字段的默认文本值。这有助于我在聚焦时将目标字段的文本设置回默认值。谢谢“安德烈亚斯”


是的,通过简单地引用FocusEvent中提供的displayObject,我们可以获得对悬停对象的引用。这允许您创建对悬停对象的通用引用,最终允许您将其放置在任意多个文本字段中

import flash.events.FocusEvent;
import flash.text.TextField;

input1.addEventListener(FocusEvent.FOCUS_IN,inHand);
input1.addEventListener(FocusEvent.FOCUS_OUT,outHand);
//add all the other text input references like I did below...
input2.addEventListener(FocusEvent.FOCUS_IN, inHand);
input2.addEventListener(FocusEvent.FOCUS_OUT, outHand);

var def1:String = "Your text value here";

function inHand(evt:FocusEvent):void
{
    var textField:TextField = TextField(evt.target);
    textField.text = "";
}

function outHand(evt:FocusEvent):void
{
    var textField:TextField = TextField(evt.target);
    if(textField.text == "")
    {
        textField.text = def1;
    }
}

谢谢你的重播。但我面临一个问题。它的作用是相反的。在输出窗口中,出现如下错误消息:**TypeError:error#1009:无法访问null对象的属性或方法参考资料。在Untitled_1_fla::maintaline/inHand()TypeError:Error#1009:无法访问空对象引用的属性或方法。在Untitled_1_fla::main timeline/outHand()@albhee,我已更正代码以修复您遇到的错误。我错误地使用了relatedObject而不是target。我认为您必须循环遍历所有的孩子,看看他们是否在那里,是否有textfield,并将事件应用到他们身上。
import flash.events.FocusEvent;
import flash.text.TextField;

input1.addEventListener(FocusEvent.FOCUS_IN,inHand);
input1.addEventListener(FocusEvent.FOCUS_OUT,outHand);
//add all the other text input references like I did below...
input2.addEventListener(FocusEvent.FOCUS_IN, inHand);
input2.addEventListener(FocusEvent.FOCUS_OUT, outHand);

var def1:String = "Your text value here";

function inHand(evt:FocusEvent):void
{
    var textField:TextField = TextField(evt.target);
    textField.text = "";
}

function outHand(evt:FocusEvent):void
{
    var textField:TextField = TextField(evt.target);
    if(textField.text == "")
    {
        textField.text = def1;
    }
}