jQuery

[Event] JQ - event ★ - 이벤트 (= 메서드실행 촉발사건) ※ e 매개변수를 명시적으로 전달해야 하는 이유

목차

  1. Event 개념
  2. 문서 객체 모델 (DOM: Document Object Model) 주요 이벤트
  3. Event 구문
  4. Event 메서드 종류
  5. e 매개변수를 되도록이면 명시적으로 전달해야 하는 이유

 

Event 개념

 

1.
jQuery는 HTML 이벤트에 반응하도록 제작되었음. 


2.
HTML 이벤트란, 웹페이지의 반응을 유도하는 접속자들의 다양한 행동 (=action)을 말함.

(예)
ⓐ 해당 요소 위로 마우스 커서를 올리는 경우
ⓑ 라디오 버튼을 선택하는 경우 
ⓒ 해당 요소를 클릭하는 경우.

즉, 

$("선택자").이벤트(); 에서 이벤트 상황이 벌어졌을 때,
선택한 해당 선택자에 미리 정의해둔 메서드 (=메서드)이 일어나게 됨.

※ 
「이벤트가 발생한다.」 / 「이벤트가 발생했다.」 표현을 자주 사용할테니, 잘 숙지하셈!!

(예)
키보드를 누르는 순간, 키보드 누르는 이벤트가 발생.
마우스를 클릭하는 순간, 마우스 클릭 이벤트가 발생.

 

 

문서 객체 모델 (DOM: Document Object Model) 주요 이벤트

Mouse 
Events
Keyboard 
Events
Form 
Events
Document/Window 
Events
click keypress submit load
dblclick keydown change resize
mouseenter keyup focus scroll
mouseleave   blur unload
 

Event 구문

 

$(selector).event(function(){
  // 실행할 method 내용
});

 

selector : 선택자

event() : 이벤트 메서드. 

※ fucntion() { ... } : 이벤트 발생 시, 실행할 내용.


[예제] - p 요소 클릭 시, p 요소 숨기기.

 

$("p").click(function(){
    $(this).hide();
});

 


PS.

JQ에서, 대부분의 DOM 이벤트 (Event)는 등가의 메서드(Method) 갖음.

(즉, Event = Method 성립)
즉, 이벤트 정의 후, 그 이벤트 발생시 실행될 Method 정의함.
※ 
Method는 함수로 주로 표현.

 

 

Event 메서드 종류

 

$(document).ready()
웹페이지가 모두 랜더링 되었을 때 작동

 



click()
선택된 요소를 마우스 왼쪽 버튼이나 스크롤 바퀴 (=중앙 버튼) 클릭했을 때 작동.
※ 오른쪽 버튼 제외

dblclick()
선택된 요소를 마우스 왼쪽 버튼이나 중아 버튼으로 더블클릭했을 때 작동.

 



mouseenter()
선택된 요소 안으로 마우스 커서가 들어올 때 작동.


mouseleave()
선택된 요소 밖으로 마우스 커서가 벗어날 때 작동.


mousedown()
선택된 요소를 마우스 왼쪽, 중앙, 오른쪽 버튼 등으로 눌러졌을 때 작동.  
※ 오른쪽 버튼 포함

mouseup()
선택된 요소를 마우스 왼쪽, 중앙, 오른쪽 버튼 등으로 누른 걸 풀 때 작동해라.

 



hover()
선택된 요소 위로 마우스 커서가 들어올 때와 나갈 때 작동. 
※ hover() = mouseenter() + mouseleave()

focus()
선택된 폼 필드 요소가 focus (=현재 선택된 상태)일 때 작동.

blur()
선택된 폼 필드 요소가 focus (=현재 선택된 상태) 해제될 때 작동.

on()
선택된 요소에 하나 이상의 이벤트 메서드을 실행시킬 때 사용 함.

 

그외도 아주 많은 이벤트 메서드 있음. 더 자세한 건 나중에 소개.

 

e 매개변수를 되도록이면 명시적으로 전달해야 하는 이유

[예제]

 

<script src="http://code.jquery.com/jquery-latest.min.js"></script>


<script>

$(document).on('click','.box',function(e){

    $(this).find('img.hz').replaceWith('<p">홈짱닷컴 Homzzang.com</p>');

});

</script>


<div class="box">

    <img src="https://i.imgur.com/WfW5mBC.png" alt="홈짱" class="hz">

</div>

 

결과보기


e 매개변수 의미

 

1. e 매개변수는 이벤트 객체임.

2. e 매개변수는 이벤트 트리거에 대한 정보를 담고 있음.
(예)

  • 이벤트 유형 (click와 같은)
  • 이벤트가 발생한 요소
  • 마우스 좌표 (clientX 및 clientY)
  • Ctrl, Shift, Alt와 같은 누른 키
  • 마우스 버튼 정보 (which 속성)
  • 등등

 


e 매개변수를 전달해야 하는 이유

 

당장의 코드엔 필요 없더라도, 코드 일관성과 추후 이벤트를 효과적으로 제어 가능하기 때문. (예)

 

 


분류 제목
Event JQ - on() 메서드 ★★★★★ - 이벤트핸들러 부착 (= 여러이벤트・여러메서드 함께실행 = 이벤트부착…
Effect JQ - Hide/Show - hide() / show() / toggle() 메서드 ★ - 숨기기/보이기…
Effect JQ - Fade (페이드) ★ - fadeIn() / fadeOut() / fadeToggle() / fa…
Effect JQ - slideDown() / slideUp() / slideToggle() 메서드 ★ - 슬라이드메서드…
Effect JQ - animate() 메서드 ★★★★★ - 움직이게 하기. (= 움직임 실행/설정 = 동적 애니 효과…
Effect JQ - stop() 메서드 ★ - 멈추게 하기 (= 슬라이드/애니 중단 = 움직임 멈추기/멈춤 = stop…
Effect JQ - Callback (콜백함수) ★ - 추가 호출 실행 함수
Effect JQ - Chaining 기법 ★ - 여러 메서드 연쇄 실행. (= 메서드 이어서 실행시키기. = 체이닝)
HTML_CSS JQ - text(), html(), val() , attr() 메서드 - (내용얻기/값얻기/속성얻기) (내… 2
HTML_CSS JQ - append(), prepend(), after(), before() 메서드 - (요소추가 / 내용…
HTML_CSS JQ - remove() / empty() 메서드 - (요소제거 / 내용삭제 / 내용비우기) ※ 리무브, 엠…
HTML_CSS JQ - addClass() , removeClass() , toggleClass() , css() 메서드 …
HTML_CSS JQ - css() 메서드 ★★★ - CSS 설정/반환 (= CSS메서드 = 스타일메서드) ※ 스타일 주기
HTML_CSS JQ - width() , height() , innerWidth() , innerHeight() , out…
Traversing JQ - Traversing - 특정요소찾기 (= 특정요소선택 = 트래버싱)
2/20
목록
 홈  PC버전 로그인 일본어
그누앞단언어
그누뒷단언어
그외코딩언어
그누보드
제작의뢰
Q&A
커뮤니티
웹유틸
회원센터
홈짱닷컴 PC버전 로그인