๋ฐ˜์‘ํ˜•

์ฃผํ™ฉ์ƒ‰ ํ™”์‚ดํ‘œ๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ณณ์ด ํด๋ฆญํ•œ ์ง€์ . ELEMENT์˜ ์™ผ์ชฝ/์œ„์ชฝ ๋ณ€๋ถ€ํ„ฐ ํ™”์‚ดํ‘œ๊นŒ์ง€ ๊ฑฐ๋ฆฌ๊ฐ€ x,y

 

// left = clientRect.x, top = clientRect.y
const { height, width, top, left } = element.getBoundingClientRect();

// event.clientX, event.clientY๋Š” ๋งˆ์šฐ์Šค ์ด๋ฒคํŠธ ์†์„ฑ
const x = event.clientX - left;
const y = event.clientY - top;

 

  • mouseEvent.clientX, mouseEvent.clientY : ๋ธŒ๋ผ์šฐ์ € ํ™”๋ฉด ์™ผ์ชฝ ์ตœ์ƒ๋‹จ์„ ๊ธฐ์ค€์œผ๋กœ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ์ง€์ ๊นŒ์ง€ ์–ผ๋งˆ๋‚˜ ๋–จ์–ด์ ธ ์žˆ๋Š”์ง€ ๋‚˜ํƒ€๋‚ด๋Š” ์ขŒํ‘œ. ๋ธŒ๋ผ์šฐ์ € ํ™”๋ฉด์ด ๊ธฐ์ค€์ด๋ฏ€๋กœ ์Šคํฌ๋กคํ•ด๋„ ๊ฐ’์ด ๋ณ€ํ•˜์ง€ ์•Š์Œ.
  • clientRect.x, clientRect.left : ํ™”๋ฉด ์ขŒ์ธก๋ถ€ํ„ฐ ํ•ด๋‹น ์—˜๋ฆฌ๋จผํŠธ์˜ ์™ผ์ชฝ ๋ณ€๊นŒ์ง€์˜ ๊ฑฐ๋ฆฌ
  • clientRect.y, clientRect.top : ํ™”๋ฉด ์ƒ๋‹จ๋ถ€ํ„ฐ ํ•ด๋‹น ์—˜๋ฆฌ๋จผํŠธ์˜ ์œ„์ชฝ ๋ณ€๊นŒ์ง€์˜ ๊ฑฐ๋ฆฌ
๋ฐ˜์‘ํ˜•