2014-04-16 4 views
0

끝에 많은 필드가 있고 끝 부분에 닫기 버튼이 있습니다. Internet Explorer에서만 버튼의 탭을 사용하여 양식의 첫 번째 필드로 이동하는 대신 브라우저 URL로 이동 한 다음 브라우저 및 홈 아이콘과 상단의 모든 브라우저 아이콘에서 탭을 엽니 다. 그래서, 내가하고 싶은 것은 닫기 버튼에서 탭 이벤트를 잡아서 폼의 첫 번째 필드로 포커스를 가져 오는 것입니다. 그래서, 버튼의 리스너에서 specialkey, keyup 및 keydown을 사용하여 시도했습니다. 하지만 버튼 이벤트가 발생하면 아무도 호출되지 않았습니다. 나는 enablekeyevents를 가지고있다 : 설정에서 사실. 누군가가 나에게 버튼에 tabout 이벤트를 캡처하는 방법을 제안 할 수 있습니다. 정말 고맙습니다.버튼에 키 이벤트를 첨부하는 버튼 - 버튼의 이벤트를 잡으려고 시도합니다.

+0

버튼이 포커스를 잃었을 때 발생하는 이벤트를 잡아낼 수 있습니까? 이를 '흐림'이라고합니다. http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.button.Button-event-blur – forgivenson

+0

안녕하세요, 빠른 답변을 보내 주셔서 감사합니다. 단추가 초점을 잃을 때 첫 번째 필드에서 포커스를 다시 얻으려고했습니다. 그것은 한 방향으로 만 움직일 때 작동합니다. 반대 방향으로 탭하면 마지막 필드로 가야 할 때 첫 번째 필드로 다시 이동합니다. 이 문제를 어떻게 해결할 수 있습니까? – user2316489

+0

사용자가 Tab 또는 Shift + Tab을 수행했는지 여부를 감지하여 첫 번째 필드 또는 마지막 필드로 적절하게 보내야합니다. 'blur' 이벤트가 가능한지 확실치 않습니다. 그러나 더 나은 솔루션, 즉 탭 순서를 올바르게 구성해야하는 것처럼 느껴집니다. 그러나 나는 이것이 단지 IE에만 ​​있다는 사실로 인해 추한 해킹이 필요할지도 모른다고 생각하게 만듭니다. 죄송합니다 더 도움이 될 수 없습니다. – forgivenson

답변

0

버튼의 흐림 이벤트를 사용하여 해결했습니다. Ext.EventObject.Tab 및 Ext.EventObject.shiftKey가 있는지 여부를 확인합니다.

+0

Ext.EventObject.Tab은 항상 9이고 Ext.EventObject.shiftKey는 항상 정의되지 않으므로 작동하지 않습니다. – user2316489