[JS + jquery] 제이쿼리 이벀트 등둝 λ©”μ„œλ“œ (λ‘œλ”© 이벀트, 마우슀 이벀트, 포컀슀 이벀트, ν‚€λ³΄λ“œ 이벀트)

2021. 10. 29. 14:05ㆍHTML + CSS + JS/JS μžλ°”μŠ€ν¬λ¦½νŠΈ

728x90

1. 이벀트 등둝 λ©”μ„œλ“œ 

μ΄λ²€νŠΈλŠ” μ‚¬μ΄νŠΈμ— λ°©λ¬Έν•œ μ‚¬μš©μžκ°€ μ·¨ν•˜λŠ” λͺ¨λ“  ν–‰μœ„λ₯Ό λ§ν•œλ‹€. 

이벀트 ν•Έλ“€λŸ¬λŠ” μ΄λ²€νŠΈκ°€ λ°œμƒν–ˆμ„ λ•Œ μ‹€ν–‰λ˜λŠ” μ½”λ“œλ₯Ό λ§ν•œλ‹€. 

이벀트 등둝 λ©”μ„œλ“œλŠ” λ°©λ¬Έμžκ°€ μ§€μ •ν•œ μš”μ†Œμ—μ„œ μ–΄λ– ν•œ νŠΉμ • λ™μž‘μ΄ 일어났을 λ•Œ μ €μž₯된 μ½”λ“œλ₯Ό μ‹€ν–‰μ‹œν‚¬ 수 μžˆλ‹€. 

 

이벀트 등둝 λ©”μ„œλ“œ μ’…λ₯˜μ—λŠ” ν•˜λ‚˜μ˜ 이벀트만 등둝할 수 μžˆλŠ” 단독 이벀트 등둝 λ©”μ„œλ“œμ™€ 2개 μ΄μƒμ˜ 이벀트λ₯Ό 등둝할 수 μžˆλŠ” κ·Έλ£Ή 이벀트 등둝 λ©”μ„œλ“œκ°€ μžˆλ‹€. 

 

 

2. 이벀트 등둝 λ©”μ„œλ“œ μ’…λ₯˜ 

 

1️⃣ λ‘œλ”© 이벀트 

load() μ„ νƒν•œ 이미지 λ˜λŠ” ν”„λ ˆμž„ μš”μ†Œμ— μ—°λ™λœ μ†ŒμŠ€μ˜ λ‘œλ”©μ΄ μ™„λ£Œλœ ν›„ μ΄λ²€νŠΈκ°€ λ°œμƒν•œλ‹€. 

ready() μ§€μ •ν•œ html λ¬Έμ„œ 객체의 λ‘œλ”©μ΄ μ™„λ£Œλœ ν›„ μ΄λ²€νŠΈκ°€ λ°œμƒν•œλ‹€.

error() 이벀트 λŒ€μƒ μš”μ†Œμ—μ„œ 였λ₯˜κ°€ λ°œμƒν•˜λ©΄ μ΄λ²€νŠΈκ°€ λ°œμƒν•œλ‹€. 

 

2️⃣ 마우슀 이벀트 

click() μ„ νƒν•œ μš”μ†Œλ₯Ό ν΄λ¦­ν–ˆμ„ λ•Œ μ΄λ²€νŠΈκ°€ λ°œμƒν•œλ‹€. 

dbclick() μ„ νƒν•œ μš”μ†Œλ₯Ό λ‘λ²ˆ ν΄λ¦­ν–ˆμ„λ•Œ  μ΄λ²€νŠΈκ°€ λ°œμƒν•œλ‹€. 

mouseout() μ„ νƒν•œ μš”μ†Œμ˜ μ˜μ—­μ—μ„œ 마우슀 포인터가 벗어났을 λ•Œ μ΄λ²€νŠΈκ°€ λ°œμƒν•œλ‹€. 

mouseover() μ„ νƒν•œ μš”μ†Œμ˜ μ˜μ—­μ— 마우슀 포인터 μ˜¬λ €λ†¨μ„ λ•Œ 이벀트 λ°œμƒν•œλ‹€.  

hover() μ„ νƒν•œ μš”μ†Œμ— 마우슀 포인터 μ˜¬λ Έμ„ λ•Œμ™€ 벗어났을 λ•Œ 각각 μ΄λ²€νŠΈκ°€ λ°œμƒν•œλ‹€. 

mousedown() μ„ νƒν•œ μš”μ†Œμ—μ„œ 마우슀 λ²„νŠΌμ„ λˆŒλ €μ„ λ•Œ μ΄λ²€νŠΈκ°€ λ°œμƒν•œλ‹€. 

mouseup() μ„ νƒν•œ μš”μ†Œμ—μ„œ 마우슀 λ²„νŠΌμ„ λˆŒλ €λ‹€ 뗐을 λ•Œ μ΄λ²€νŠΈκ°€ λ°œμƒν•œλ‹€. 

mouseenter() μ„ νƒν•œ μš”μ†Œ λ²”μœ„μ— 마우슀 포인터λ₯Ό μ˜¬λ Έμ„ λ•Œ μ΄λ²€νŠΈκ°€ λ°œμƒν•œλ‹€. 

mouseleave() μ„ νƒν•œ μš”μ†Œ λ²”μœ„μ—μ„œ 마우슀 포인터가 벗어났을 λ•Œ μ΄λ²€νŠΈκ°€ λ°œμƒν•œλ‹€. 

mousemove() μ„ νƒν•œ μš”μ†Œ λ²”μœ„μ—μ„œ 마우슀 포인터 μ›€μ§μ˜€μ„ λ•Œ μ΄λ²€νŠΈκ°€ λ°œμƒν•œλ‹€.  

scroll() κ°€λ‘œ, μ„Έλ‘œ μŠ€ν¬λ‘€λ°”λ₯Ό 움직일 λ•Œ λ§ˆλ‹€ μ΄λ²€νŠΈκ°€ λ°œμƒν•œλ‹€. 

 

3️⃣ 포컀슀 이벀트 

focus() μ„ νƒν•œ μš”μ†Œμ— ν¬μ»€μŠ€κ°€ μƒμ„±λ˜μ—ˆμ„ λ•Œ 이벀트λ₯Ό λ°œμƒν•˜κ±°λ‚˜ μ„ νƒν•œ μš”μ†Œμ— κ°•μ œλ‘œ 포컀슀λ₯Ό μƒμ„±ν•œλ‹€. 

focusin() μ„ νƒν•œ μš”μ†Œμ— ν¬μ»€μŠ€κ°€ μƒμ„±λ˜μ—ˆμ„ λ•Œ 이벀트λ₯Ό λ°œμƒν•œλ‹€. 

focusout() ν¬μ»€μŠ€κ°€ μ„ νƒν•œ μš”μ†Œμ—μ„œ λ‹€λ₯Έ μš”μ†Œλ‘œ μ΄λ™λ˜μ—ˆμ„ λ•Œ μ΄λ²€νŠΈκ°€ λ°œμƒν•œλ‹€. 

blur() ν¬μ»€μŠ€κ°€ μ„ νƒν•œ μš”μ†Œμ—μ„œ λ‹€λ₯Έ μš”μ†Œλ‘œ μ΄λ™λ˜μ—ˆμ„ λ•Œ μ΄λ²€νŠΈκ°€ λ°œμƒν•˜κ±°λ‚˜ μ„ νƒν•œ μš”μ†Œμ˜ ν¬μ»€μŠ€κ°€ κ°•μ œλ‘œ 사라지도둝 ν•œλ‹€. 

change() 이벀트 λŒ€μƒμΈ μž…λ ₯ μš”μ†Œμ˜ 값이 λ³€κ²½λ˜κ³ , ν¬μ»€μŠ€κ°€ μ΄λ™ν•˜λ©΄ μ΄λ²€νŠΈκ°€ λ°œμƒν•œλ‹€. 그리고 κ°•μ œλ‘œ change 이벀트λ₯Ό λ°œμƒμ‹œν‚¬λ•Œλ„ μ‚¬μš©ν•œλ‹€. 

 

4️⃣ ν‚€λ³΄λ“œ 이벀트 

keypress() μ„ νƒν•œ μš”μ†Œμ—μ„œ ν‚€λ³΄λ“œλ₯Ό λˆŒλ €μ„ λ•Œ μ΄λ²€νŠΈκ°€ λ°œμƒν•œλ‹€. λ¬Έμžν‚€λ₯Ό μ œμ™Έν•œ ν‚€μ˜ μ½”λ“œκ°’μ„ λ°˜ν™˜ν•œλ‹€. 

keydown() μ„ νƒν•œ μš”μ†Œμ—μ„œ ν‚€λ³΄λ“œλ₯Ό λˆŒλ €μ„ λ•Œ μ΄λ²€νŠΈκ°€ λ°œμƒν•œλ‹€.  ν‚€λ³΄λ“œμ˜ λͺ¨λ“  ν‚€μ˜ μ½”λ“œκ°’μ„ λ°˜ν™˜ν•œλ‹€. 

keyup() μ„ νƒν•œ μš”μ†Œμ—μ„œ ν‚€λ³΄λ“œμ—μ„œ 손을 λ–Όμ—ˆμ„ λ•Œ μ΄λ²€νŠΈκ°€ λ°œμƒν•œλ‹€. 

 

 

 

3. 이벀트 등둝 방식 

μ €μž₯ν•œ μš”μ†Œμ— 이벀트λ₯Ό λ“±λ‘ν•˜λŠ” λ°©λ²•μ—λŠ” 단독 이벀트 등둝 방식과 κ·Έλ£Ή 이벀트 등둝 λ°©μ‹μ˜ 두 μ’…λ₯˜κ°€ μžˆλ‹€. 

 

ν•œκ°€μ§€ λ™μž‘μ— λŒ€ν•œ 이벀트 등둝 λ°©μ‹μ—λŠ” 단독 이벀트 등둝 λ©”μ„œλ“œλ‚˜ κ·Έλ£Ή 이벀트 등둝 λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•˜κ³ , 두 가지 μ΄μƒμ˜ λ™μž‘μ— λŒ€ν•œ 이벀트 등둝 λ°©μ‹μ—λŠ” κ·Έλ£Ή 이벀트 등둝 λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•œλ‹€. 

 

 

1️⃣ 단독 이벀트 등둝 λ©”μ„œλ“œ 

#("이벀트 λŒ€μƒ 선택").이벀트 등둝 λ©”μ„œλ“œ(function() {

  μžλ°”μŠ€ν¬λ¦½νŠΈ μ½”λ“œ; 

});

 

2️⃣ κ·Έλ£Ή 이벀트 등둝 λ©”μ„œλ“œ 

κ·Έλ£Ή 이벀트 등둝 λ©”μ„œλ“œμ—λŠ” λŒ€μƒμ— ν•œ 가지 λ™μž‘ μ΄μƒμ˜ 이벀트λ₯Ό 등둝할 수 μžˆλ‹€. 

on() λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ 이벀트λ₯Ό λ“±λ‘ν•œλ‹€. 

 

$("이벀트 λŒ€μƒ 선택").on("이벀트 μ’…λ₯˜1 이벀트 μ’…λ₯˜2 ...", functioin() {

   μžλ°”μŠ€ν¬λ¦½νŠΈ μ½”λ“œ;

));

 

$("이벀트 λŒ€μƒ 선택").on({

  "이벀트 μ’…λ₯˜1 이벀트 μ’…λ₯˜2.." : function() {

    μžλ°”μŠ€ν¬λ¦½νŠΈ μ½”λ“œ;

   }

});

 

$("이벀트 λŒ€μƒμ„ νƒ").on({

  "이벀트 μ’…λ₯˜1" : function() { μžλ°”μŠ€ν¬λ¦½νŠΈ μ½”λ“œ; }, 

  "이벀트 μ’…λ₯˜2" : function() { μžλ°”μŠ€ν¬λ¦½νŠΈ μ½”λ“œ;}

..

});

 

3️⃣ κ°•μ œλ‘œ 이벀트 λ°œμƒμ‹œν‚€κΈ° 

$("이벀트 λŒ€μƒ").λ‹¨λ…μ΄λ²€νŠΈλ“±λ‘λ©”μ„œλ“œ();

$("이벀트 λŒ€μƒ").trigger("이벀트 μ’…λ₯˜"); 

-> trigger λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ 이벀트λ₯Ό κ°•μ œλ‘œ λ°œμƒμ‹œν‚¬μˆ˜λ„ μžˆλ‹€. 

ν΄λ¦­μ΄λ‚˜ λ§ˆμš°μŠ€μ˜€λ²„μ•ˆν•΄λ„ μžλ™μœΌλ‘œ 이벀트 등둝됨 

 

 

4️⃣ 이벀트 제거 λ©”μ„œλ“œ 

이벀트λ₯Ό μ œκ±°ν•˜λŠ” λ©”μ„œλ“œλ‘œ off() κ°€ μžˆλ‹€. 

$("이벀트 λŒ€μƒ").off("μ œκ±°ν•  이벀트 μ’…λ₯˜");

 

λ²„νŠΌμ„ λˆŒλŸ¬λ„ μ‹€ν–‰ μ•ˆλ¨ 

 

5️⃣ λ‘œλ”© 이벀트 λ©”μ„œλ“œ 

λ‘œλ”© 이벀트 λ©”μ„œλ“œλŠ” μ‚¬μš©μžκ°€ λΈŒλΌμš°μ €μ—μ„œ html λ¬Έμ„œλ₯Ό μš”μ²­ν•˜λ©΄ html λ¬Έμ„œμ˜ λ‘œλ”©μ΄ μ™„λ£Œλ˜λ©΄ 이벀트 ν•Έλ“€λŸ¬λ₯Ό μ‹€ν–‰ν•œλ‹€. 

 

ready() 이벀트 λ©”μ„œλ“œλŠ” μ‚¬μš©μžκ°€ μ‚¬μ΄νŠΈλ₯Ό λ°©λ¬Έν•  λ•Œ μš”μ²­ν•œ html λ¬Έμ„œ 객체의 λ‘œλ”©μ΄ λλ‚˜λ©΄ 이벀트λ₯Ό λ°œμƒμ‹œν‚¨λ‹€. 

load() 이벀트 λ©”μ„œλ“œλŠ” 외뢀에 μ—°λ™λœ μ†ŒμŠ€(iframe, img, viedo) 의 λ‘œλ”©μ΄ λλ‚˜λ©΄ 이벀트λ₯Ό λ°œμƒμ‹œν‚¨λ‹€. 

 

$(document).ready(function() {μžλ°”μŠ€ν¬λ¦½νŠΈ μ½”λ“œ; });

$(document).on("ready" : function() { μžλ°”μŠ€ν¬λ¦½νŠΈ μ½”λ“œ;});

 

$(window).load(function() {μžλ°”μŠ€ν¬λ¦½νŠΈ μ½”λ“œ;} );

$(window).on("load" : function() {μžλ°”μŠ€ν¬λ¦½νŠΈ μ½”λ“œ;} );

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90