HTML5μμμ λλκ·Έ μ€ λλ‘μ μ¬μ©μκ° μΉ νμ΄μ§μμ μμλ₯Ό λ§μ°μ€λ‘ λμ΄λ€κ° λ€λ₯Έ μμΉλ‘ μ΄λμν€λ κΈ°λ₯μ λ§ν©λλ€. μ΄λ₯Ό ꡬννκΈ° μν΄μλ HTML, CSS, κ·Έλ¦¬κ³ JavaScriptλ₯Ό μ¬μ©ν μ μμ΅λλ€. μλμλ κ°λ¨ν HTML5 λλκ·Έ μ€ λλ‘ μμ λ₯Ό μ 곡ν©λλ€.
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>
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>
μ΄λ¬ν μμ λ€μ ν΅ν΄ λλκ·Έ μ€ λλ‘μ ꡬννλ κΈ°λ³Έμ μΈ μμ΄λμ΄λ₯Ό μ΄ν΄ν μ μμ κ²μ λλ€. μνλ λμμ λ§κ² μμ νμ¬ μ¬μ©ν μ μμ΅λλ€.