📌 드래그(drag) 앤 드롭(drop) 이벤트
darggable 속성
: HTML 요소가 드래그 가능하도록 설정
- "true": 드래그 ⭕
- "false": 드래그 ❌ (기본값)
<div id="drag-item" draggable="true">
Drag me!
</div>
dragstart
: 드래그를 시작할 때 발생
document.addEventListener('dragstart', (event) => {
console.log('Drag started');
event.dataTransfer.setData('Dragged data');
});
drag
: 드래그 중에 계속 발생
document.addEventListener('drag', (event) => {
console.log('Dragging');
});
dragend
: 드래그가 끝날 때 발생
document.addEventListener('dragend', (event) => {
console.log('Drag ended');
});
dragover
: 드래그된 요소가 드롭 대상 위를 지나갈 때 발생
- 드롭을 허용하기 위해서는 e.preventDefault()를 호출해야 함
dropTarget.addEventListener('dragover', (event) => {
event.preventDefault(); // 드롭을 허용
console.log('Drag over');
});
dragenter
: 드래그된 요소가 드롭 영역에 들어왔을 때 발생
dropTarget.addEventListener('dragenter', (event) => {
console.log('Drag entered');
});
dragleave
: 드래그된 요소가 드롭 영역에서 나갔을 때 발생
dropTarget.addEventListener('dragleave', (event) => {
console.log('Drag left');
});
drop
: 드래그된 요소를 드롭 대상에 놓았을 때 발생
dropTarget.addEventListener('drop', (e) => {
e.preventDefault(); // 기본 동작 방지
const data = event.dataTransfer.getData('text/plain');
console.log('Dropped data:', data);
});
Document: drag 이벤트 - Web API | MDN
drag 이벤트는 사용자가 요소 또는 텍스트를 드래그하는 동안 매 수백 밀리초마다 발생합니다.
developer.mozilla.org
HTML 드래그 앤 드롭 API - Web API | MDN
HTML 드래그 앤 드롭 인터페이스는 Firefox와 다른 브라우저에서 어플리케이션이 드래그 앤 드롭 기능을 사용하게 해줍니다. 이 기능을 이용해 사용자는 draggable 요소를 마우스로 선택해 droppable 요
developer.mozilla.org
draggable - HTML: Hypertext Markup Language | MDN
draggable 전역 특성은 요소의 드래그 가능 여부를 나타내는 열거형 특성으로, 네이티브 브라우저 동작 방식과 HTML Drag and Drop API 모두 통제합니다.
developer.mozilla.org
Document: dragstart 이벤트 - Web API | MDN
dragstart 이벤트는 사용자가 요소나 선택한 텍스트를 드래그하기 시작할 때 발생합니다.
developer.mozilla.org
Document: dragend 이벤트 - Web API | MDN
dragend 이벤트는 마우스 버튼을 놓거나 이스케이프 키를 눌러 드래그 작업이 끝나게 되면 발생합니다.
developer.mozilla.org
HTMLElement: dragover event - Web APIs | MDN
The dragover event is fired when an element or text selection is being dragged over a valid drop target (every few hundred milliseconds).
developer.mozilla.org
HTMLElement: dragenter event - Web APIs | MDN
The dragenter event is fired when a dragged element or text selection enters a valid drop target. The target object is the immediate user selection (the element directly indicated by the user as the drop target), or the <body> element.
developer.mozilla.org
HTMLElement: dragleave event - Web APIs | MDN
The dragleave event is fired when a dragged element or text selection leaves a valid drop target.
developer.mozilla.org
HTMLElement: drop event - Web APIs | MDN
The drop event is fired when an element or text selection is dropped on a valid drop target. To ensure that the drop event always fires as expected, you should always include a preventDefault() call in the part of your code which handles the dragover event
developer.mozilla.org