2010-02-16 2 views
0

나는 asp.net 응용 프로그램을 개발했습니다. 사용자가 내 응용 프로그램의 필드를 탭하고 끝까지 계속하면 내 응용 프로그램 외부에서 탭이 계속됩니다. 여기에는 사용자가 URL을 입력 한 상자와 검색 기준을 입력하기위한 Google 상자를 포함하는 상자가 포함됩니다. 그런 다음 결국 응용 프로그램의 첫 번째 필드로 돌아갑니다.asp.net 응용 프로그램 내에서 탭 이동

내 애플리케이션으로 탭핑을 어떻게 제한합니까?

답변

1

내가 생각할 수있는 유일한 것은 페이지 내의 마지막 필드에있는 onkeydown을 잡아서 탭 키로 테스트 한 다음 첫 번째 필드로 다시 포커스를 설정할 수있는 자바 스크립트를 작성한 경우입니다.

<body> 
    <input id="field1" /><br /> 
    <input id="field2" /><br /> 
    <input id="field3" onkeydown="return loopBack();" /> 
</body> 

<script type="text/JavaScript"> 
    function loopBack() { 
     if (event.keyCode == 9) { 
      var field1 = document.getElementById("field1"); 
      field1.focus(); 
      field1.select(); 
      return false; 
     } 
    } 
</script> 
+0

Grrr ... 나는 이것을 아래로 표시하고 싶었지만 기술적으로 볼 때 원래의 질문에 답하기 때문에 기술적으로는 마음이 바뀌었다. 제발하지 마세요. : | – Bryan

+0

@ 브라이언 : 나는 아마도 그럴 것이라고 생각합니다. 그러나 나는 그것을 "악의적 인"것으로 보지 않습니다. – CAbbott

3

가장 쉬운 방법은 처리하지 않는 것입니다. 사용자가 자신의 응용 프로그램과 상호 작용하는 방식을 변경하지 마십시오. 이것은 당신이하지 않는 것입니다. 이 제어 할 수 없습니다. Tab 키에는 매우 예측 가능한 방식으로 작동하는 잘 정의 된 사용자 인터페이스 작업이 있습니다. 사용 가능한 모든 브라우저를 사용하지는 않았지만 그 중 99 %에서 탭 키를 사용하면 페이지의 입력 필드와 브라우저의 툴바 사이를 탭할 수 있습니다. 당신이 가서 이것을 바꾸면 사용자를 좌절시킬뿐입니다. 마우스를 사용하지 않는 사용자는 어떻습니까? 장애인은 어떻습니까?

여기에서 디자인 결정을 다시 생각해보십시오.

+0

+1. 브라우저를 탐색하기 위해 TAB을 정기적으로 사용하는 사람으로서 이것은 포스터의 응용 프로그램을 사용하여 싫어하게 만듭니다. –

관련 문제