[JS] DOM,Event,Node๊ฐ์ฒด
๐ DOM
DOM(Document Object Model)
: ๊ฐ์ฒด ์งํฅ ๋ชจ๋ธ๋ก์จ ๊ตฌ์กฐํ๋ ๋ฌธ์๋ฅผ ํํํ๋ ํ์
- DOM์ XML์ด๋ HTML ๋ฌธ์์ ํ๋ก๊ทธ๋๋ฐ ์ธํฐํ์ด์ค
- ๋ฌธ์์ ๊ตฌ์กฐํ๋ ํํ์ ์ ๊ณตํ์ฌ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๊ฐ ๋ฌธ์ ๊ตฌ์กฐ, ์คํ์ผ ,๋ด์ฉ ๋ฑ์ ๋ณ๊ฒฝํ ์ ์๋๋ก ํ๋ค.
HTML DOM
:HTML ๋ฌธ์๋ฅผ ์กฐ์ํ๊ณ ์ ๊ทผํ๋ ํ์คํ๋ ๋ฐฉ๋ฒ, ๋ชจ๋ HTML ์์๋ HTML DOM์ ํตํด ์ ๊ทผ ๊ฐ๋ฅ
Document๊ฐ์ฒด
- Document ๊ฐ์ฒด๋ ์น ํ์ด์ง๋ฅผ ์๋ฏธ
- ์น ํ์ด์ง์ ์กด์ฌํ๋ HTML ์์์ ์ ๊ทผํ๊ณ ์ ํ ๋๋ ๋ฐ๋์, Document ๊ฐ์ฒด๋ถํฐ ์์ํด์ผ ํ๋ค.
Document ๋ฉ์๋
: HTML ์์์ ๊ด๋ จ๋ ์์
์ ๋์์ฃผ๋ ๋ค์ํ ๋ฉ์๋๋ฅผ ์ ๊ณต
- HTML ์์์ ์ ํ
- HTML ์์์ ์์ฑ
- HTML ์ด๋ฒคํธ ํธ๋ค๋ฌ ์ถ๊ฐ
- HTML ๊ฐ์ฒด์ ์ ํ
Document ๋ฉ์๋ ์ฐธ๊ณ ์๋ฃ ๐
๐ ์ด๋ฒคํธ(event)
์ด๋ฒคํธ(event)๋ ์น ๋ธ๋ผ์ฐ์ ๊ฐ ์๋ ค์ฃผ๋ HTML ์์์ ๋ํ ์ฌ๊ฑด์ ๋ฐ์์ ์๋ฏธ
์น ํ์ด์ง์ ์ฌ์ฉ๋ ์๋ฐ์คํฌ๋ฆฝํธ๋ ๋ฐ์ํ ์ด๋ฒคํธ์ ๋ฐ์ํ์ฌ ํน์ ๋์์ ์ํํ ์ ์๋ค.
๋ฐ๋ผ์, ํด๋ผ์ด์ธํธ ์ธก ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ๋น๋๊ธฐ์ ์ด๋ฒคํธ ์ค์ฌ(event-driven)์ ํ๋ก๊ทธ๋๋ฐ ๋ชจ๋ธ์ด๋ผ๊ณ ๋ ํ๋ค.
๐ก ์ด๋ฒคํธ ํ์
์ด๋ฒคํธ ํ์
์ ๋ฐ์ํ ์ด๋ฒคํธ์ ์ข
๋ฅ๋ฅผ ๋ํ๋ด๋ ๋ฌธ์์ด๋ก, ์ด๋ฒคํธ ๋ช
(event name)์ด๋ผ๊ณ ๋ ํ๋ค.
๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ ํค๋ณด๋, ๋ง์ฐ์ค, HTML DOM, Window ๊ฐ์ฒด ๋ฑ์ ์ฒ๋ฆฌํ๋ ์ด๋ฒคํธ๊ฐ ํญ๋๊ฒ ์ ๊ณต๋๋ค.
๐ก ์ด๋ฒคํธ ๋ช ์ธ
์์ ์๋ onload, onclick, onmouseover์ ๊ฐ์ด ๊ธฐ๋ณธ์ ์ด๊ณ ๋ ๋จ์ํ ์ด๋ฒคํธ๋ง์ ์ฌ์ฉํ์ผ๋..
ํ์ฌ๋ ์ด๋ณด๋ค, ๋ง์ ์ด๋ฒคํธ๋ฅผ ์ํ ๋ช
์ธ๊ฐ ์กด์ฌํ๋ค.
๐ Node ๊ฐ์ฒด
HTML DOM์ ๋
ธ๋๋ก ๊ณ์ธต์ ๋จ์์ ์ ๋ณด๋ฅผ ์ ์ฅ
HTML DOM์ ์ด๋ฌํ ๋
ธ๋๋ค์ ์ ์ํ๊ณ , ๊ทธ๋ค ์ฌ์ด์ ๊ด๊ณ๋ฅผ ์ค๋ช
ํด ์ฃผ๋ ์ญํ ์ ํ๋ค.
- HTML ๋ฌธ์์ ์ ๋ณด๋ ๋ ธ๋ ํธ๋ฆฌ(node tree)๋ผ๊ณ ๋ถ๋ฆฌ๋ ๊ณ์ธต์ ๊ตฌ์กฐ์ ์ ์ฅ๋๋ค.
- ์ด๋ฌํ ๋ ธ๋ ํธ๋ฆฌ๋ ๋ ธ๋๋ค์ ์งํฉ์ด๊ณ , ๋ ธ๋ ๊ฐ์ ๊ด๊ณ๋ฅผ ๋ณด์ฌ์ค๋ค.
- ์๋ฐ์คํฌ๋ฆฝํธ์์๋ HTML DOM์ ์ด์ฉํ์ฌ ๋ ธ๋ ํธ๋ฆฌ์ ํฌํจ๋ ๋ชจ๋ ๋ ธ๋์ ์ ๊ทผํ ์ ์๋ค.