์๋ ๋ฐฉ๋ฒ์ javascript ๋ฅผ ํตํด Drag and Drop ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๊ตฌํํ ๋ด์ฉ์ด๋ฉฐ
data-set ์ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ค์ ์ด๋ ์ํค๋ ๊ฒ์ด ์๋๋ผ, ์ฌ์ฉ์๊ฐ ์ ์ํ ํจ์๋ฅผ ์คํ ์ํด์ผ๋ก์จ
๊ฐ๋จํ๊ฒ ๊ตฌํํ ์์ ์ ๋๋ค.
1. ๋๋๊ทธ ๊ธฐ๋ฅ์ด ์์ํ๋ ์์ ( aํ๊ทธ ) ์ ์๋์ ๊ฐ์ ์์ฑ ๋ถ์ฌ
<a href="#" class="" draggable='true' ondragend="{functionName}";">๋๋๊ทธํ ํญ๋ชฉ๋ช
</a>
- draggable : ๋๋๊ทธ๊ฐ ๊ฐ๋ฅํ๋๋ก ์ค์ ํ๊ฒ ๋ค๋ ์์ฑ
- ondragend : ๋๋๊ทธ๊ฐ "๋๋ ๋" ์คํํ ํจ์ ์ค์
2. ๋๋๊ทธํ ์์๋ฅผ ๋ฐ์ ์์ญ์ ์๋์ ๊ฐ์ ์์ฑ ๋ถ์ฌ
<div class="" ondragover='onDragOver(event);'>
...
</div>
<script>
function onDragOver(event) {
event.preventDefault();
}
</script>
- ondragover : ๋๋๊ทธ๋ ์์๊ฐ ์ค๋ฒ๋๋ฉด, ์คํํ ํจ์ ์ค์
- event.preventDefault() : ์ด๋ฒคํธ ์ ํ ๋ฐฉ์ง ์ค์ ์ ๊ธฐ๋ณธ์ผ๋ก ์ถ๊ฐํ๋ค. ์ดํ ์ปค์คํ ์ ์ํด๋ ๋จ.
์ด๋ ๊ฒ ๊ตฌ์ฑํ๋ฉด, ๊ฐ๋จํ๊ฒ ๋๋๊ทธ ์ค ๋๋กญ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ฉด์, ์ฌ์ฉ์ ์ ์ ํจ์๋ฅผ ํตํด ์ํ๋๋๋ก ์์ ์ด ๊ฐ๋ฅํ๋ค.
์๋ฅผ ๋ค๋ฉฐ, ๋๋๊ทธ ํ ์์ญ์์ ํ์ผ์ด๋ผ๋๊ฐ, ๋ค๋ฅธ ๊ฐ๋ค์ ๊ฐ์ ธ์์ผ ํ๋ค๋ฉด, ์ฌ์ฉ์ ์ ์ ํจ์ ์ธก์ data-params ๊ฐ์ ๋ฐฉ์์ ์จ์ ๋๋๊ทธ ์ค๋ฒ ๋๋ ์์ญ ๋ด ์์๋ฅผ ์ก์ ๋ฐ์ธ๋ฉ ํ๋ ๋ฑ์ ๋ฐฉ์์ ์ฌ์ฉํ ์ ์๋ค.
๊ฐ๋จํ๊ฒ ๊ตฌํํ๊ณ ์ ํ๋ฉด ์ด๋ ๊ฒ ํ๋๊ฒ ์ ์ผ ๋นจ๋๋ค.
๊ทธ ์ธ์ ๋๋๊ทธ์ค๋๋กญ ์์ฑ์ ๋ํด ์์ธํ ๊ธ์ ์ํ๋ค๋ฉด ์๋๋ฅผ ์ฐธ์กฐ๋ฐ๋๋๋ค.
[javascript] ์๋ฐ์คํฌ๋ฆฝํธ Drag&Drop ๊ตฌํํ๊ธฐ
์๋ก Html ๋๋๊ทธ ์ค ๋๋กญ api๋ ๋ ์ด๋ฒคํธ ๋ชจ๋ธ์์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ ์ ๋ณด๋ฅผ ์ ๋ฐ์ดํธ ํ๋ ๋ฐฉ์์ผ๋ก ์ด๋ฃจ์ด์ง๋ค. ๋๋๊ทธ ์ค ๋๋กญ์ ๊ตฌํํ๋๋ฐ๋ ์ฌ๋ฌ ๋ฐฉ๋ฒ์ด ์๋๋ฐ ๋๋๊ทธ ๋ ์์ดํ ์ CSS ์คํ
mber.tistory.com
'๐JS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
xlsx-js-style ๋ฅผ ์ด์ฉํ table ์์๋ก ์์ ํ์ผ ๋ค์ด๋ก๋ ์ํค๊ธฐ (1) | 2021.11.05 |
---|---|
[Javascript] Promise ์ดํดํ๊ธฐ (0) | 2021.10.06 |
String Array ๋ด ๋น ์์ ์ ๊ฑฐํ๊ธฐ (0) | 2021.02.06 |
์คํฌ๋ฆฝํธ ํ์ผ import ์, ์บ์ ์๋จ๊ฒ ์ฒ๋ฆฌํ๊ธฐ (0) | 2021.02.06 |
localstorage ์ฌ์ฉํ๊ธฐ (0) | 2021.02.06 |
๋๊ธ