HTML5μ—μ„œμ˜ λ“œλž˜κ·Έ μ•€ λ“œλ‘­μ€ μ‚¬μš©μžκ°€ μ›Ή νŽ˜μ΄μ§€μ—μ„œ μš”μ†Œλ₯Ό 마우슀둜 λŒμ–΄λ‹€κ°€ λ‹€λ₯Έ μœ„μΉ˜λ‘œ μ΄λ™μ‹œν‚€λŠ” κΈ°λŠ₯을 λ§ν•©λ‹ˆλ‹€. 이λ₯Ό κ΅¬ν˜„ν•˜κΈ° μœ„ν•΄μ„œλŠ” HTML, CSS, 그리고 JavaScriptλ₯Ό μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ•„λž˜μ—λŠ” κ°„λ‹¨ν•œ HTML5 λ“œλž˜κ·Έ μ•€ λ“œλ‘­ 예제λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.

  1. κΈ°λ³Έ λ“œλž˜κ·Έ μ•€ λ“œλ‘­: 이 μ˜ˆμ œλŠ” κ°„λ‹¨ν•œ λ“œλž˜κ·Έ μ•€ λ“œλ‘­ λ™μž‘μ„ κ΅¬ν˜„ν•©λ‹ˆλ‹€.
html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Basic Drag and Drop</title> <style> #draggable { width: 100px; height: 100px; background-color: lightblue; cursor: move; } </style> </head> <body> <div id="draggable" draggable="true" ondragstart="drag(event)">Drag me</div> <script> function drag(event) { // λ“œλž˜κ·Έ μ‹œμž‘ μ‹œ 데이터 전달 event.dataTransfer.setData("text/plain", event.target.id); } </script> </body> </html>
  1. λ“œλ‘­ μ˜μ—­μ— μ•„μ΄ν…œ λ“œλ‘­: 이 μ˜ˆμ œλŠ” λ“œλž˜κ·Έν•œ μ•„μ΄ν…œμ„ νŠΉμ • μ˜μ—­μ— λ“œλ‘­ν•˜λ©΄ ν•΄λ‹Ή μœ„μΉ˜μ— μ•„μ΄ν…œμ΄ μƒμ„±λ˜λŠ” κΈ°λŠ₯을 λ³΄μ—¬μ€λ‹ˆλ‹€.
html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Drop Zone</title> <style> #draggable { width: 100px; height: 100px; background-color: lightblue; cursor: move; } #dropzone { width: 300px; height: 300px; border: 2px dashed gray; } </style> </head> <body> <div id="draggable" draggable="true" ondragstart="drag(event)">Drag me</div> <div id="dropzone" ondrop="drop(event)" ondragover="allowDrop(event)">Drop here</div> <script> function allowDrop(event) { event.preventDefault(); } function drag(event) { event.dataTransfer.setData("text/plain", event.target.id); } function drop(event) { event.preventDefault(); var data = event.dataTransfer.getData("text/plain"); var draggedElement = document.getElementById(data); var dropzone = document.getElementById("dropzone"); dropzone.appendChild(draggedElement.cloneNode(true)); } </script> </body> </html>

μ΄λŸ¬ν•œ μ˜ˆμ œλ“€μ„ 톡해 λ“œλž˜κ·Έ μ•€ λ“œλ‘­μ„ κ΅¬ν˜„ν•˜λŠ” 기본적인 아이디어λ₯Ό 이해할 수 μžˆμ„ κ²ƒμž…λ‹ˆλ‹€. μ›ν•˜λŠ” λ™μž‘μ— 맞게 μˆ˜μ •ν•˜μ—¬ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.