포커스 이벤트
포커스는 마우스로 a 또는 input 태그를 클릭하거나 tab키를 누르면 생성된다.
앞에서 배운 마우스 이벤트는 마우스가 없으면 사용할 수 없다. 마우스가 없는 상황에서는 키보드를 이용하여 사이트를 이용해야 하는데 이때 키보드만으로 사이트를 이용했을 때 불편하지 않도록 만들어 주는 것을
'키보드 접근성' 이라고 한다.
키보드 접근성을 높이려면
마우스 이벤트를 등록할 때 키보드 이벤트도 함께 등록해 주어야 한다.
마우스 이벤트에 대응할 수 있는 포커스 이벤트
★focus( ) / ★ blur( ) / focusin( ) / focusout( )
- focus :
대상 요소로 포커스가 이동하면 이벤트가 발생
- blur
: 대상 요소에서 다른 요소로 포커스가 이동하거나 포커스를 잃으면 이벤트가 발생
- focusin
: 대상 요소의 하위 요소 중 입력 요소로 포커스가 이동하면 이벤트가 발생
대상 요소가 부모요소여야 한다.
(거의 쓰는 일이 없다)
- focusout
: 대상 요소의 하위 요소 중 입력 요소에서 외부 요소로 포커스가 이동하면 이벤트가 발생
대상 요소가 부모요소여야 한다.
(거의 쓰는 일이 없다)
* blur, focusin, focusout은 이벤트명만 다르고 기본형은 같다.
[기본형]
-단독
$('대상요소').focus(function(){ 코드 })
-그룹
$('대상요소').on('focus', function(){ 코드 })
-강제
$('대상요소').focus();
focus / blur 예제
focusin / focusout 예제
키보드 접근성
** mouseover를 등록할 때에는 focus를 함께 등록한다.
mouseout을 등록할 때에는 blur를 함께 등록
click을 등록할 때에는 keydown 또는 keypress 이벤트를 함께 등록
1. 키보드 접근성을 고려하지 않은 예시
** 동일한 기능을 여러군데 사용할 때 따로 함수로 빼고, on 에 함수명으로 적어주면 된다.
이때 함수명 뒤에 ( ) 쓰지 않는다
2. 키보드 접근성을 고려한 예시
이벤트 여러 개 같이 등록할 때는 공백으로 구분하고 문자열로 감싸준다.
'제이쿼리' 카테고리의 다른 글
[제이쿼리]- 키보드 이벤트 / 엔터 키를 누르면 클릭해서 제출한 것처럼 강제 이벤트를 발생 시키기 (0) | 2024.08.26 |
---|---|
[제이쿼리]- ★change 이벤트 / 쇼핑몰 사이트에서 선택한 물건에 따라 값을 다르게 표현해줄 때 사용하는 이벤트 (0) | 2024.08.26 |
[제이쿼리]- 마우스 휠 이벤트 / 업버튼 만들기 (0) | 2024.08.23 |
[제이쿼리]- scroll 이벤트 / 스크롤 이벤트할 때 좌표 값 가져오기 (0) | 2024.08.23 |
추가, 마우스 이벤트 객체 / 전체 이벤트 객체 (0) | 2024.08.23 |