Использование идентификатора объекта для изменения настроек в flex - PullRequest
0 голосов
/ 24 сентября 2011

ну, я хочу этого на самом деле

<s:Button x="240" id="anything"  y="80" label="User 4" click="click_Handler(event.currentTarget.id)" />


protected function click_Handler(s:String)
{
s.width ="xx" ;
}

Ну, в этом коде, конечно, s.width нельзя сделатьлюбые идеи о том, как это сделать.я должен изменить ширину, когда я нажимаю на кнопку.

1 Ответ

1 голос
/ 24 сентября 2011

вам необходимо использовать id объекта или передать ссылку на объект вместо просто id в обработчик событий.В приведенном вами примере id равно anything.Убедитесь, что это уникально для каждого экземпляра объекта в MXML.

Один из вариантов - напрямую обратиться к экземпляру рабочей области.Код будет выглядеть следующим образом:

protected function click_Handler(s:String){
    anything.width ="xx" ;
}

Другой вариант - передать объект события (что является хорошей практикой) или, по крайней мере, целевой объект обработчику события и использовать его.Код будет таким:

<s:Button x="240" id="anything"  y="80" label="User 4" click="click_Handler(event)" />

protected function click_Handler(e:Event){
    ((DisplayObject)(e.currentTarget)).width = "xx"
}
...