Вы забыли изменить имя функций прослушивателя в последних двух вызовах addEventListener()
. В настоящее время он вызывает changeHandler()
на всех трех событиях.
Вы должны иметь:
name2.addEventListener(Event.CHANGE, changeHandler1);
name3.addEventListener(Event.CHANGE, changeHandler2);
Вы можете создать класс, который управляет соединением входного текстового поля с выходным текстовым полем:
package
{
import flash.text.TextField;
import flash.events.Event;
public class TextBinder extends Object
{
// vars
private var _input:TextField;
private var _output:TextField;
/**
* Joins input with output
* @param inp The input text field
* @param outp The output text field
*/
public function join(inp:TextField, outp:TextField):void
{
_input = inp;
_output = outp;
_input.addEventListener(Event.CHANGE, _change);
}
/**
* Event.CHANGE
*/
private function _change(e:Event):void
{
_output.text = _input.text;
}
}
}
И теперь вы можете перебирать текстовые поля и присоединяться к ним, используя:
var tb:TextBinder = new TextBinder();
tb.join(name1, output1);