我正在开发一个允许用户输入姓名和号码的系统。该信息存储在名为“so”的共享对象中。我遇到了一个问题,当用户保存信息时,它会覆盖正确的信息和所有其他so.data。我在这里有点迷失。
function setInformation (name:String):Function{
return function(e:Event):void {
if (name == "1"){
so.data.Number1 = editPage.enterNumber.text;
so.data.Name1 = editPage.enterName.text;
Name1.text = so.data.Name1;
number1.text = so.data.Number1;
editPage.setInfo.removeEventListener(MouseEvent.MOUSE_UP, setInformation('1'));
removePage();
}
if (name == "2"){
so.data.Number2 = editPage.enterNumber.text;
so.data.Name2 = editPage.enterName.text;
Name2.text = so.data.Name2;
number2.text = so.data.Number2;
edit2.visible = false;
delete2.visible = false;
trace("HELLO THERE");
editPage.setInfo.removeEventListener(MouseEvent.MOUSE_UP, setInformation('2'));
removePage();
}
if (name == "3"){
so.data.Number3 = editPage.enterNumber.text;
so.data.Name3 = editPage.enterName.text;
Name3.text = so.data.Name3;
number3.text = so.data.Number3;
edit3.visible = false;
delete3.visible = false;
editPage.setInfo.removeEventListener(MouseEvent.MOUSE_UP, setInformation('3'));
removePage();
displayNumbers();
}
}
}
main函数由声明名称的多个事件侦听器激活,例如:
editPage.setInfo.addEventListener(MouseEvent.MOUSE_UP, setInformation('1'));
这使得“if(name =='1')”有条件。我认为这个系统可能会影响我的问题,但我不明白为什么或导致它的原因。