WEB

[JS] DOM,Event,Node๊ฐ์ฒด

Meng's Computer 2021. 2. 3. 02:41

๐Ÿ“ 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 ๋ฉ”์†Œ๋“œ ์ฐธ๊ณ ์ž๋ฃŒ ๐Ÿ‘‡

 

์ฝ”๋”ฉ๊ต์œก ํ‹ฐ์”จํ”ผ์Šค์ฟจ

4์ฐจ์‚ฐ์—…ํ˜๋ช…, ์ฝ”๋”ฉ๊ต์œก, ์†Œํ”„ํŠธ์›จ์–ด๊ต์œก, ์ฝ”๋”ฉ๊ธฐ์ดˆ, SW์ฝ”๋”ฉ, ๊ธฐ์ดˆ์ฝ”๋”ฉ๋ถ€ํ„ฐ ์ž๋ฐ” ํŒŒ์ด์ฌ ๋“ฑ

tcpschool.com

 

๐Ÿ“ ์ด๋ฒคํŠธ(event)

์ด๋ฒคํŠธ(event)๋ž€ ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์•Œ๋ ค์ฃผ๋Š” HTML ์š”์†Œ์— ๋Œ€ํ•œ ์‚ฌ๊ฑด์„ ๋ฐœ์ƒ์„ ์˜๋ฏธ

์›น ํŽ˜์ด์ง€์— ์‚ฌ์šฉ๋œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๋ฐœ์ƒํ•œ ์ด๋ฒคํŠธ์— ๋ฐ˜์‘ํ•˜์—ฌ ํŠน์ • ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.
๋”ฐ๋ผ์„œ, ํด๋ผ์ด์–ธํŠธ ์ธก ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋น„๋™๊ธฐ์‹ ์ด๋ฒคํŠธ ์ค‘์‹ฌ(event-driven)์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ชจ๋ธ์ด๋ผ๊ณ ๋„ ํ•œ๋‹ค.

๐Ÿ’ก ์ด๋ฒคํŠธ ํƒ€์ž…

์ด๋ฒคํŠธ ํƒ€์ž…์€ ๋ฐœ์ƒํ•œ ์ด๋ฒคํŠธ์˜ ์ข…๋ฅ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฌธ์ž์—ด๋กœ, ์ด๋ฒคํŠธ ๋ช…(event name)์ด๋ผ๊ณ ๋„ ํ•œ๋‹ค.
๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ํ‚ค๋ณด๋“œ, ๋งˆ์šฐ์Šค, HTML DOM, Window ๊ฐ์ฒด ๋“ฑ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์ด๋ฒคํŠธ๊ฐ€ ํญ๋„“๊ฒŒ ์ œ๊ณต๋œ๋‹ค.

๐Ÿ’ก ์ด๋ฒคํŠธ ๋ช…์„ธ

์˜ˆ์ „์—๋Š” onload, onclick, onmouseover์™€ ๊ฐ™์ด ๊ธฐ๋ณธ์ ์ด๊ณ ๋„ ๋‹จ์ˆœํ•œ ์ด๋ฒคํŠธ๋งŒ์„ ์‚ฌ์šฉํ–ˆ์œผ๋‚˜..
ํ˜„์žฌ๋Š” ์ด๋ณด๋‹ค, ๋งŽ์€ ์ด๋ฒคํŠธ๋ฅผ ์œ„ํ•œ ๋ช…์„ธ๊ฐ€ ์กด์žฌํ•œ๋‹ค.

 

์ด๋ฒคํŠธ ์ฐธ์กฐ | MDN

DOM ์ด๋ฒคํŠธ๋Š” ๋ฐœ์ƒํ•œ ํฅ๋ฏธ๋กœ์šด ๊ฒƒ์„ ์ฝ”๋“œ์— ์•Œ๋ฆฌ๊ธฐ ์œ„ํ•ด ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค. ๊ฐ ์ด๋ฒคํŠธ๋Š” Event ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœํ•œ ๊ฐ์ฒด์— ์˜ํ•ด ํ‘œํ˜„๋˜๋ฉฐ ๋ฐœ์ƒํ•œ ๊ฒƒ์— ๋Œ€ํ•œ ๋ถ€๊ฐ€์ ์ธ ์ •๋ณด๋ฅผ ์–ป๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ถ”๊ฐ€

developer.mozilla.org

 

์ฝ”๋”ฉ๊ต์œก ํ‹ฐ์”จํ”ผ์Šค์ฟจ

4์ฐจ์‚ฐ์—…ํ˜๋ช…, ์ฝ”๋”ฉ๊ต์œก, ์†Œํ”„ํŠธ์›จ์–ด๊ต์œก, ์ฝ”๋”ฉ๊ธฐ์ดˆ, SW์ฝ”๋”ฉ, ๊ธฐ์ดˆ์ฝ”๋”ฉ๋ถ€ํ„ฐ ์ž๋ฐ” ํŒŒ์ด์ฌ ๋“ฑ

tcpschool.com

 

๐Ÿ“ Node ๊ฐ์ฒด

HTML DOM์€ ๋…ธ๋“œ๋กœ ๊ณ„์ธต์  ๋‹จ์œ„์— ์ •๋ณด๋ฅผ ์ €์žฅ
HTML DOM์€ ์ด๋Ÿฌํ•œ ๋…ธ๋“œ๋“ค์„ ์ •์˜ํ•˜๊ณ , ๊ทธ๋“ค ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ์„ค๋ช…ํ•ด ์ฃผ๋Š” ์—ญํ• ์€ ํ•œ๋‹ค.

  • HTML ๋ฌธ์„œ์˜ ์ •๋ณด๋Š” ๋…ธ๋“œ ํŠธ๋ฆฌ(node tree)๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ๊ณ„์ธต์  ๊ตฌ์กฐ์— ์ €์žฅ๋œ๋‹ค.
  • ์ด๋Ÿฌํ•œ ๋…ธ๋“œ ํŠธ๋ฆฌ๋Š” ๋…ธ๋“œ๋“ค์˜ ์ง‘ํ•ฉ์ด๊ณ , ๋…ธ๋“œ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๋ณด์—ฌ์ค€๋‹ค.
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” HTML DOM์„ ์ด์šฉํ•˜์—ฌ ๋…ธ๋“œ ํŠธ๋ฆฌ์— ํฌํ•จ๋œ ๋ชจ๋“  ๋…ธ๋“œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.

๋…ธ๋“œ์˜ ์ข…๋ฅ˜ ( ์ผ๋‹จ์€ ๊ทธ๋Ÿฌํ•˜๋‹ค..์ •๋„๋กœ ์ดํ•ดํ–ˆ๋‹ค. )

 

์ฝ”๋”ฉ๊ต์œก ํ‹ฐ์”จํ”ผ์Šค์ฟจ

4์ฐจ์‚ฐ์—…ํ˜๋ช…, ์ฝ”๋”ฉ๊ต์œก, ์†Œํ”„ํŠธ์›จ์–ด๊ต์œก, ์ฝ”๋”ฉ๊ธฐ์ดˆ, SW์ฝ”๋”ฉ, ๊ธฐ์ดˆ์ฝ”๋”ฉ๋ถ€ํ„ฐ ์ž๋ฐ” ํŒŒ์ด์ฌ ๋“ฑ

tcpschool.com

 

728x90
๋ฐ˜์‘ํ˜•