{ํ์คํ} JavaScript 23๊ฐ - DOM events
React์ ์ด๋ฒคํธ ์ฒ๋ฆฌ
React๋ ํ๋ฉด์ ๊ทธ๋ฆด๋ฟ ์ด๋ฒคํธ ์ฒ๋ฆฌํด์ฃผ๋ ๊ฒ์ ์๋
๋ค๋ฅธ ํ๋ ์์ํฌ๋ค์ ๊ฐ๋ณ ์ด๋ฒคํธ ์ฒ๋ฆฌ ๊ฐ๋ฅ
React์์ ์ด๋ฒคํธ ์ฒ๋ฆฌ๋ ๋ด๊ฐ ๋ค ํจ์ ์ฒ๋ฆฌํด์ผ ํจ
convention ์์
์ง์ ์ด๋ฒคํธ ํธ๋ค๋ฌ ๋ฑ๋กํ๊ณ ์คํํ๊ณ ํด์ผ ํจ
์ํฉ์ ๋ฐ๋ฅธ ์ด๋ฒคํธ ์ฒ๋ฆฌ
// ๊ณผ๊ฑฐ
if ( $eles && $eles . length ) {
}
// ํ์ฌ
const $btn = $eles ?. [ 0 ] || createBtn ( ) ;
์ด๋ฒคํธ & ์ด๋ฒคํธ ํธ๋ค๋ฌ & ์ด๋ฒคํธ ํ์
// ๋ธ๋ผ์ฐ์ ์ ์ด๋ฒคํธ ๋ ์ง์คํธ๋ฆฌ ์์
// ์ด๋ฒคํธ ํ๋ ์์; ์คํ ์ํฌ ์ด๋ฒคํธ ๋๊ธฐ์ด
$btn . onclick = search ;
$btn . addEventListener ( 'click' , fn ) ;
$btn . addEventListener ( 'click' , ( evt ) => {
// ๋ถ๋ชจ ์์๋ ์ด๋ฒคํธ ์คํ X
evt . stopPropagation ( ) ;
// submit ๋ฒํผ์ผ ๊ฒฝ์ฐ
// evt.preventDefault();
} ) ;
target; ์ค์ ๋ก ์ด๋ฒคํธ ๋ฐ์ํ DOM ์์
์ด๋ฒคํธ ๋ฐ์ํ์ ๋ ๋จผ์ ๋ฐ์ ๋
currentTarget; ์ด๋ฒคํธ ํธ๋ค๋ฌ ๋ฐ์ธ๋ฉ ๋์ด ์๋ ์์
์ด๋ฒคํธ ๋ฐ์ํ์ ๋ ์ค์ ์ฃผ์ธ๊ณต
Object
Event
AnimationEvent
ClipboardEvent
UIEvent
FocusEvent
MouseEvent
KeyboardEvent
InputEvent
์ปดํฌ๋ํธ; HTML์ ํ ๋ญ์น
focus; ๋ฒ๋ธ๋ง ์๋จ (๋ถ๋ชจ ์์๋ ์ด๋ฒคํธ ์คํ X)
focusin; ๋ฒ๋ธ๋ง ๋จ (๋ถ๋ชจ ์์๋ ์ด๋ฒคํธ ์คํ O)
blur; ๋ฒ๋ธ๋ง ์๋จ
Reference