2011-07-29 3 views
0

보기에 하나 이상의 컨테이너가 있습니다. 페이지가로드 될 때 기본 단추를 설정하려고합니다. Enter 키를 누르면 keydown 이벤트를 처리하는 함수가 호출됩니다. preinit() 함수에 기본 버튼을 설정하면 작동하지 않습니다.사전 초기화의 기본 버튼 설정

어떻게하면됩니까?

답변

0

때때로 "작동하지 않음"을 디버그하기가 어렵습니다. 그러나이 경우에는 "널 값"스타일 오류가 발생한다고 생각합니다.

preinitialize 이벤트는 createChildren()보다 먼저 발생하므로 "기본값"으로 설정하려는 버튼이 아직 존재하지 않습니다. Flex Component LifeCycle에 대한 추가 정보

코드를 initialize 이벤트로 이동할 수 있습니다.

"기본값 설정"을 사용하면 FocusManager을 사용하여 단추를 집중시키는 것으로 가정합니다.

0

질문을 올바르게 이해한다고 가정하면 두 개의 개의 작업을 수행해야합니다.

  1. 는 컨테이너에 defaultButton의
  2. 설정 초점 또는 용기

@Flextras 말했듯이, preinit는이에 대한 최선의 선택을하지 않을 수 있습니다 어떤 자식을 설정합니다.

컨테이너가 MXML로 선언 된 경우 MXML 선언의 defaultButton 속성을 설정하고 creationComplete에 포커스를 설정하는 것이 좋습니다.