我希望文本字段相互依赖。例如,有两个输入文本字段,如角频率(ω)和普通频率(f),ω=2πf。如果我改变一个,另一个改变。我怎样才能做到这一点?第二件事,我如何检查文本字段是否为空?
if (field.text=="")... // doesn't work
答案 0 :(得分:2)
有两种方法可以做到这一点。您可以使用某种更新函数,在每个帧都调用每个字段的当前值,检查每个字段的当前值,然后查看是否有更改,然后对此做出反应。
private var tf1 : TextField = new TextField();
private var tf2 : TextField = new TextField();
private var tf1LastVal : String = "";
private var tf2LastVal : String = "";
public function update() : void
{
if(tf1.text != tf1LastVal)
{
tf2.text = //put your logic here
tf1LastVal = tf1.text;
}
else if(tf2.text != tf2LastVal)
{
tf1.text = //put your logic here
tf2LastVal = tf2.text;
}
}
另一种更好的方式(在我看来)是通过向TextFields添加事件监听器
//add this where you construct your TextFields
tf1.addEventListener(Event.CHANGE, onTf1Change);
tf2.addEventListener(Event.CHANGE, onTf2Change);
//end
private function onTf1Change(e : Event) : void
{
tf2.text = //your logic here;
}
private function onTf2Change(e : Event) : void
{
tf1.text = //your logic here;
}