이것이 왜 기본 동작이 아닌지 조금 혼란 스럽습니까?스파크 버튼 - 왜 enter key fire click 이벤트를 누르지 않습니까?
그렇다면 내 버튼에서 누른 키를 감지하고 클릭 이벤트 핸들러를 시작하려면 어떻게해야합니까? 버튼 어쨌든
선택되는 입력 이벤트가 시작되면 원래의 게시물에 롤백 할 이벤트는 해고 될 것이다 : 편집
이것이 왜 기본 동작이 아닌지 조금 혼란 스럽습니까?스파크 버튼 - 왜 enter key fire click 이벤트를 누르지 않습니까?
그렇다면 내 버튼에서 누른 키를 감지하고 클릭 이벤트 핸들러를 시작하려면 어떻게해야합니까? 버튼 어쨌든
선택되는 입력 이벤트가 시작되면 원래의 게시물에 롤백 할 이벤트는 해고 될 것이다 : 편집
EDIT : 전에 게시 한 모든 것을 무시하십시오.
스파크 버튼에 keyDown 이벤트를 사용하고 KeyboardEvent를 사용하여 이벤트 핸들러를 만들 수 있습니다.
<s:Button label="Submit" keyDown="enter_pressed(event)" id="submit" click="submit_clickHandler(event)"/>
protected function enter_pressed(event:KeyboardEvent):void {
if(event.charCode == Keyboard.ENTER){
submit.dispatchEvent(new MouseEvent(MouseEvent.CLICK));
}
}
감사합니다 (TextInput 구성 필드에서 예를 들어 '입력'이벤트가있다) 사용자가 버튼에 초점을 맞추고 키보드 입력 키와 아무 관련이없는 경우 내가 잘못 본 것이 아니라면 Flash에서 버튼을 활성화하기위한 기본 키는 스페이스 바입니다. 다음과 같이하면 Enter를 사용할 수 있습니다.
myButton.addEventListener(KeyboardEvent.KEY_DOWN, onMyButtonKeyDown);
private function onMyButtonKeyDown(event:KeyboardEvent):void
{
//simulate click if enter pressed
if(event.keyCode == Keyboard.ENTER)
myButton.dispatchEvent(new MouseEvent(MouseEvent.CLICK));
}
안녕하세요. 답장을 보내 주셔서 감사합니다. 스파크 버튼에는 선택 요소가 없습니다. –
문제 없슴. 귀하의 제안에 대한 작업 코드 샘플을 게시 할 수 있다면 그것을 시도해 보겠습니다. –
Rollbacked 대답과 .selected 부분, 일부 와이어는 내가 썼을 때 건드렸습니다. 포커스가 버튼에 집중되어 있다면 이벤트가 발생합니다. – Exort
Thanks Mike - could 버튼을 클릭 할 때 입력 내용이 어떻게 표시되는지 설명합니다. 어쩌면 약간 불확실한 것 같습니다. 포커스가 버튼에있을 때 사용자가 엔터를 누르면 버튼 클릭이 트리거됩니다. –
오! 나는 당신의 질문을 잘못 읽은 것이 유감입니다. 버튼에 입력을 처리하고 거기에서 클릭 이벤트를 보내려고합니다. 나는 그걸 더 자세히보아야 할 것입니다. – Mike
아마도 keyDown 이벤트를 살펴보고 거기에있는 핸들러를 확인하십시오. – Mike