일부 입력 요소가 포함 된 팝업 대화 상자 (z- 인덱스가 높은 div)가 있습니다. 이 대화 상자가 열려있는 동안이 대화 상자의 요소 사이를 이동하기 위해 탭과 시프트 탭을 사용하고 싶습니다. 이것을 어떻게 할 수 있습니까?Javascript : 대화 상자에서 트랩 포커스
3
A
답변
3
tabIndex 속성을 사용하고 탭을 순환하고 싶지 않은 모든 요소에 대해 -1로 설정할 수 있습니다. 오프
<input type="text" id="no-tab-cycle" tabIndex="-1"/>
물론 당신은 .. jQuery를 또는 무언가 일부 스마트 선택기를 통해이 동작을 관리해야하지만 양식이 얼마나 복잡한 의존합니다
어쩌면 다른 사람이 더 나은 대답을 가지고 ..
jQuery를 사용하여 팝업을 가정 샘플와
Update는이 코드는 트릭을 할해야 내-팝업 대화의 ID를 가지고, C 선택기를 원하는대로 맞 춥니 다.
$('input, textarea, select').each(function(index) {
$(this).attr('tabIndex', '-1');
});
$('#my-popup-dialog input, #my-popup-dialog textarea, #my-popup-dialog select').each(function(index) {
$(this).removeAttr('tabIndex');
});
0
직접적인 방법은 없지만 여기서는 (다소 지저분한) 방법이 있습니다. 당신은 기본적으로 현재 포커스가있는 요소의 트랙을 유지해야합니다
이 페이지의 모든 컨트롤에 대한
onfocus
이벤트를 처리를 (당신은이 작업을 자동으로 설정할 수 있습니다)와 처리기에서 요소의 메모를 확인하는 포커스를 받았다면currentFocus
이라고 부르 자.마찬가지로,
onblur
이벤트를 처리하고 포커스를 잃은 요소를 기록한 다음previousFocus
이라고합시다.지금 당신이 원하는 않는
onfocus
핸들러에 추가 로직을 추가 :previousFocus
이 대화 상자에서 마지막으로 제어하고currentFocus
당신의 대화 외부 제어의 경우, 귀하의 대화에서 첫 번째 컨트롤에 포커스를 설정 -이 뜻을 마지막 컨트롤에서 탭핑을 처리하십시오. 이 논리를 반대로하면 첫 번째 컨트롤에서 시프트 탭을 처리 할 수 있습니다.
관련 문제
- 1. javascript- 대화 상자에서 요소에 액세스하기
- 2. Javascript 확인 대화 상자에서 PHP 코드를 위반하나요?
- 3. 대화 상자에서
- 4. Primefaces 대화 상자 포커스
- 5. 대화 상자 포커스 제공
- 6. 모달 대화 상자 외부에서 트랩 마우스 클릭
- 7. 대화 상자에서 listview를 만드시겠습니까?
- 8. 찾아보기 대화 상자에서 WIX
- 9. 파일 열기 대화 상자에서 이스케이프 키 누르기 JavaScript 키를 누르면
- 10. JavaScript UI 대화 상자에서 간단한 ASP.NET MVC CRUD보기 열기/닫기
- 11. Jquery .change() 이벤트로 선택 상자에서 포커스 제거
- 12. 추가 기능의 WPF 콤보 상자에서 포커스 유지
- 13. 대화 상자에서 대화 상자를 열 수 있습니까?
- 14. Win32 GUI : 대화 상자에서 대화 상자
- 15. 모달 상자에서 해당 대화 열기
- 16. CKeditor 대화 상자에서 동적 선택
- 17. 대화 상자에서 진행 상황을 표시합니다.
- 18. 모달 대화 상자에서 응답을받는 방법?
- 19. jQuery 대화 상자에서 단추 변경
- 20. Android : 형식 경고 대화 상자에서
- 21. 대화 상자에서 제목을 동적으로 설정하십시오.
- 22. jQueryUI 대화 상자에서 데이터에 액세스
- 23. 폴더 대화 상자에서 C# asp.net
- 24. 경고 대화 상자에서 다중 선택
- 25. 대화 상자에서 이미지를 여는 방법
- 26. 메시지 대화 상자에서 삐음을 제거하십시오.
- 27. $ ('# idField') .JQuery 대화 상자에서 val()
- 28. 대화 상자에서 교차 제거 jquery
- 29. 대화 상자에서 활동을 호출하는 방법
- 30. 대화 상자에서 HIViewRef 가져 오기
+1이 또한 좋은 방법입니다. – casablanca
이 방법은 페이지에 많은 링크가있는 경우 성능에 영향을 미칩니다. –