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

[attribute] HTML - ondragleave 속성 - 드래그 한 요소가 드롭박스 이탈 시 실행 (= ondragleave속성 = 온드래그리브속성) ※ ondragleave이벤트 = 온드래그리브이벤트 ※ 떠날 때 실행

목차

  1. ondragleave 예제 - 드래그 한 요소가 드롭박스 이탈 시 실행
  2. ondragleave 정의
  3. ondragleave 구문

 

ondragleave 예제 - 드래그 한 요소가 드롭박스 이탈 시 실행

 

<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>

 

결과보기

 

ondragleave 정의

 

드래그 한 요소가 드롭박스를 벗어날 때 발생.

 



1.

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


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

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


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

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


4.

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

 


ondragleave 구문

 

HTML 방식

  • <element ondragleave="myScript">

 

JS 방식 (3가지)

  • object.ondragleave = ()=>{myScript};
  • object.ondragleave = function(){myScript};
  • object.addEventListener("dragleave", myScript);



[속성값]

 

myScript

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

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

 



분류 제목
attribute HTML - minlength 속성 ★ - 입력 가능한 최소 글자 개수 지정 (= minlength속성 =…
attribute HTML - on으로 시작하는 속성에서 2개 이상의 여러 JS함수 실행 방법
etc HTML - 스크린리더기가 읽는 HTML요소 정보값 종류 (= Screen Reader provides th…
form HTML - <input type="button"> 태그 - 버튼 모양 인풋 (= 인풋버튼타입/버튼타입인풋/…
form HTML - <input type="checkbox"> 태그 - 체크박스 모양 INPUT (= 인풋체크박스타…
form HTML - <input type="color"> 태그 - 색상값(색깔값) 선택 입력 (= 인풋컬러타입/컬러…
form HTML - <input type="date"> 태그 - 연월일(년월일) 입력 (= 인풋데이트타입/데이트타입…
form HTML - <input type="datetime-local"> 태그 - 년월일시분 입력 (= 인풋데이트타…
form HTML - <input type="email"> 태그 - 이메일 입력 (= 인풋이메일타입/이메일타입인풋/이…
form HTML - <input type="file"> 태그 - 업로드 할 파일 선택 (= 파일첨부/첨부파일 입력필…
form HTML - <input type="hidden"> 태그 - 숨겨진 입력 필드 지정 (= 사용자 몰래 입력값…
form HTML - <input type="image"> 태그 - 이미지로 된 submit 버튼 (= 인풋이미지타입…
form HTML - <input type="month"> 태그 - 연월(년월) 입력 (= 인풋먼스타입/먼스타입인풋/…
form HTML - <input type="number"> 태그 - 숫자 입력 (= 인풋넘버타이/넘버타입인풋/넘버인…
form HTML - <input type="password"> 태그 - 패스워드 입력 (= 비밀번호 입력 = 인풋패…
form HTML - <input type="radio"> 태그 - 오직 1개의 요소만 선택 (= 인풋라디오타입/라디…
form HTML - <input type="range"> 태그 - 지정범위 내 입력값 지정 (= 인풋레인지타입/레인…
form HTML - <input type="reset"> 태그 - 입력창 초기화/재설정 (= 입력한 폼데이터 비우기…
form HTML - <input type="search"> 태그 - 검색어 입력 (= 인풋서치타입/서치타입인풋/서치…
form HTML - <input type="submit"> 태그 - 서버로 데이터 제출/전송 (= 인풋타입서브미트/…
17/18
목록
찾아주셔서 감사합니다. Since 2012