jQuery 이벤트 처리
- 웹 브라우저가 HTML요소를 인식한 후에 처리되어야 하므로 jQuery의 load 처리 안에서 정의한다.
- 이벤트는 함수 형태로 정의되어 있고, 해당 이벤트가 발생한 경우 호출될 함수를 콜백 파라미터로 전달한다.
- 콜백함수에는 이벤트의 정보를 갖는 e 객체가 전달된다.
* 필요한 경우 이 객체를 선언하고 활용할 수 있다.
* e.preventDefault()는 링크의 href 속성이나 폼의 submit 등에 대해서 HTML 요소가 수행해야 하는 기본 동작을 차단하는 역할을 한다.
1 2 3 4 5 6 7 | // jQuery의 load처리 안에서 정의 $(function() { $("foo").이벤트이름(function( [e] ) { [e.preventDefault();] }); )}; |
주요 이벤트 종류
마우스 관련
이벤트 |
기능 |
---|---|
click |
요소를 클릭시에 동작한다. |
mouseenter |
어떤 요소의 영역 안에 마우스 커서가 들어간 경우 호출된다. |
mouseleave |
어떤 요소의 영역 안에서 마우스 커서가 빠져나온 경우 호출된다. |
dblclick |
더블클릭시에 동작한다. |
hover |
mouseenter + mouseleave |
hover 이벤트
hover 이벤트의 경우 마우스가 요소 안에 들어간 경우와 빠져나온 경우를 처리해야 하기 때문에 콜백함수가 2개 설정되어야 한다.
1 2 3 4 5 6 7 8 9 10 11 12 | // jQuery의 load처리 안에서 정의 $(function() { $("foo").hover( function() { ... 마우스가 요소 안에 들어간 경우 ... }, function() { ... 마우스가 요소 안에 들어간 경우 ... }, ); )}; |
이벤트 |
기능 |
keydown |
버튼을 누르고 있는 동안 지속적으로 발생한다. |
keyup |
버튼을 눌렀다가 뗀 순간 발생한다. 한글을 지원하므로 대부분의 키 처리시 사용 권장 |
keypress |
키보드를 눌렀다가 떼는 동작을 1회로 처리한다. 한글인 경우 발생되지 않기 대문에 사용을 권장하지 않는다. |
* ==이 아니라 >= 으로 해주는 것은 아이폰의 경우 스크린이 끝으로 가도 바운스 되기 때문(화면이 더 늘어난다.)
* -15 해주는 이유는 상태바 등의 크기를 고려한 것
'Web 관련' 카테고리의 다른 글
Javascript+jQuery+Ajax 11일차 (0) | 2019.02.12 |
---|---|
Javascript+jQuery+Ajax 10일차 (0) | 2019.02.08 |
Javascript에 관한 MVC 구조의 이해 (0) | 2019.02.07 |
Javascript+jQuery+Ajax 8일차 (0) | 2019.02.07 |
Javascript+jQuery+Ajax 7일차 (0) | 2019.02.01 |