• 회원가입
  • 로그인
  • 구글아이디로 로그인

[attribute] HTML - ondrop 속성 - 드래그 한 요소를 드롭 할 때 실행 (= ondrag속성 = 온드래그속성) ※ ondrag이벤트 = 온드래그이벤트

목차
  1. ondrop 예제 - 드래그 한 요소를 드롭박스에 드롭 시 실행
  2. ondrop 정의
  3. ondrop 구문

 

ondrop 예제 - 드래그 한 요소를 드롭박스에 드롭 시 실행

 

<style>

.box {

  float: left;

  width:200px;

  height:50px;

  padding: 20px;

  margin: 30px;

  text-align:center;

  border: 3px solid gray;

}

</style>


<div class="box" ondragenter="dragenterHZ(event)" ondragleave="dragleaveHZ(event)" ondrop="dropHZ(event)" ondragover="dragoverHZ(event)">

  <p ondragstart="dragstartHZ(event)" ondrag="dragHZ(event)" ondragend="dragendHZ(event)" draggable="true" id="hz">홈짱닷컴 Homzzang.com</p>

</div>


<div class="box" ondragenter="dragenterHZ(event)" ondragleave="dragleaveHZ(event)" ondrop="dropHZ(event)" ondragover="dragoverHZ(event)"></div>


<p style="clear:both;" id="demo"></p>


<script>

function dragstartHZ(event) {

  event.dataTransfer.setData("Text", event.target.id);

  document.getElementById("demo").innerHTML = "p요소 drag 시작";

}


function dragHZ(event) {

  document.getElementById("demo").innerHTML = "p요소 drag 중";

}


function dragendHZ(event) {

  document.getElementById("demo").innerHTML = "p요소 drag 완료";

}   


function dragenterHZ(event) {

  if ( event.target.className == "box" ) {

    event.target.style.borderColor = "red";

    document.getElementById("demo").innerHTML = "드롭박스 진입";

  }

}


function dragoverHZ(event) {

  event.preventDefault(); // 드롭 허용

}    

    

function dragleaveHZ(event) {

  if ( event.target.className == "box" ) {

    event.target.style.borderColor = "";

    document.getElementById("demo").innerHTML = "드롭박스 이탈";

  }

}    


function dropHZ(event) {

  event.preventDefault();

  var data = event.dataTransfer.getData("Text");

  event.target.appendChild(document.getElementById(data));

  document.getElementById("demo").innerHTML = "드롭 완료";

</script>

 

결과보기

 

ondrop 정의

 

드래그 한 요소를 드롭박스에 드롭 시 발생.

 



1.

  • Drag & Drop은 HTML5의 매우 일반적인 기능임.
  • 요소를 드래그 가능하게 만들려면 draggable 전역속성 사용.
  • 링크와 이미지는 기본적으로 드래그 가능. (즉, draggable 속성 불필요.)
  • Drag & Drop 과정의 여러 단계에서 여러 이벤트가 발생함.


2. 드래그요소에서 발생하는 이벤트 :

  • ondragstart 속성 - 사용자가 요소를 드래그하기 시작할 때 발생
  • ondrag 속성 - 요소를 끌 때 발생 (※ 드래그 중  350밀리초마다 실행됨)
  • ondragend 속성 - 사용자가 요소 끌기를 완료하면 실행됩니다.


3. 드롭박스에서 발생하는 이벤트:

  • ondragenter 속성 - 드래그 된 요소가 드롭박스에 들어갈 때 실행.
  • ondragover 속성 - 드래그 된 요소가 드롭박스 위에 있을 때 실행.
  • ondragleave 속성 - 드래그 된 요소가 드롭박스를 벗어날 때 실행.
  • ondrop 속성 - 드래그 된 요소에 드롭박스에 드롭될 때 실행.


4.

IE9 이상 주요 최신 브라우저 모두 지원.

 


ondrop 구문

 

HTML 방식

  • <element ondrop="myScript">

 

JS 방식 (3가지)

  • object.ondrop = ()=>{myScript};
  • object.ondrop = function(){myScript};
  • object.addEventListener("drop", myScript);



[속성값]

 

myScript

드래그 한 요소를 드롭박스에 드롭 시, 실행할 JS 코드

  • 주의: 함수명 사용 시, 다른 곳은 전부 소괄호까지 사용해 함수 호출하나 핑크색 myScript 자리는 "함수명만" 사용해 함수 호출.
  • 사용 방식 통일 권장.

 



분류 제목
image HTML - <canvas> 태그 - 그림그리기 (= canvas태그 = 캔버스태그)
attribute HTML - pattern 속성 - 유효한 입력값인지 정규표현식 패턴 검사 (= pattern속성 = 패턴속…
programming HTML - <applet> 태그 - 애플릿 (= applet태그 = 애플릿태그)
list HTML - <menuitem> 태그 - 마우스오른쪽 팝업메뉴 (= menuitem태그 = 메뉴아이템태그) …
formatting HTML - <dfn> 태그 - 용어 정의 (= dfn태그 = 드픈태그 = 디파인태그)
list HTML - <dd> 태그 ★ - 설명리스트의 설명항목 내용 (= dd태그 = 디디태그) ※ (정의리스트/데…
list HTML - <dir> 태그 - 디렉토리목록 (= dir태그 = 디르태그 = 디렉토리태그) (HTML5제외)
list HTML - <dl> 태그 ★ - 설명리스트 (= 설명목록 = dl태그 = 디엘태그) (HTML5용도변경) …
api HTML5 - Web Worker - 백그라운드실행JS (= 웹워커)
font HTML - <tt> 태그 - 동일너비의 작은글씨 (= 티티태그) (HTML5제외)
style HTML - <dialog> 태그 - 대화박스 (= 대화상자 = dialog태그 = 다이알로그태그) (HTM…
style HTML - <summary> 태그 - 세부사항의 머리글 (= summary태그 = 서머리태그 = 써머리태…
form HTML - <keygen> 태그 - 암호화쌍키생성 (= keygen태그 = 키젠태그)
attribute HTML - hidden 속성 - 요소 숨기기 (= hidden속성 = 히든속성)
formatting HTML - <acronym> 태그 - 두문자어 (= acronym태그 = acronym요소 = 애크로님태그…
formatting HTML - <kbd> 태그 - 키보드입력키 표시. (= kbd태그 = 키보드태그)
meta HTML - <head> 태그 ★ - 문서정보정의 (= head태그 = 헤드태그) (HTML5에서 속성 지원…
attribute HTML - Attribute ★ - 속성종류 (= 전역속성 + 이벤트속성 + 그외속성)
intro HTML - HTML5 사용조건 / HTML4.01과 다른점 (= HTML5 vs HTML401 차이점)
formatting HTML - <abbr> 태그 - 축약어/두문자어 (= abbr태그 = abbr요소 = 어브르태그 = 어브리…
12/18
목록
찾아주셔서 감사합니다. Since 2012