메뉴 건너뛰기

조회 수 2896 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

1. 정의

- on()와 드래그&드랍 리스너를 이용하여 구현

1) 드래그 & 드롭 이벤트

 분류

이벤트 

발생타이밍 

드래그 

dragstart 

드래그를 시작 

 

drag 

드래그 중 

 

dragend 

드래그 종료 

드롭 

dragenter 

드래그 요소가 드롭 영역에 들어감 

 

dragover 

드래그 요소가 드롭 영역에 있다 

 

dragleave 

드래그 요소가 드롭 영역 벗어남 

 

drop 

드롭 



2. 예제



<!DOCTYPE html>
 
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .main{
            width: 300px;
            height:300px;
            border: 1px solid black;
        }
        .drop {
            width: 300px;
            height:300px;
            border: 1px solid black;
        }
    </style>
</head>
 
<div class="main">
    <img src="small.png" id="drag" draggable="true"/>
</div>
<hr>
<div class="drop" id="drop"></div>
<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script src="http://code.jquery.com/ui/1.10.4/jquery-ui.min.js"></script>
<script>
    $(function(){
        $('#drag').on({
            //드래그 시작시 요소 id 저장
            'dragstart':function(e){
                e.originalEvent.dataTransfer.setData('text',e.target.id);
                $(this).css('border','solid 2px Red');
            },
            //드래그 종료
            'dragend':function(e){
                $(this).css('border','none');
            }
        });
 
        $('#drop').on({
            'dragenter':function(e){
                $(this).css('background-color','#fc0');
            },
            'dragleave':function(e){
                $(this).css('background-color','#ffc');
            },
            //브라우저 표중 동작 취소
            'dragover':function(e){
                e.preventDefault();
            },
            'drop':function(e){
                $(e.target).append($('#'+e.originalEvent.dataTransfer.getData('text')));
                e.preventDefault();
            }
        });
    });
</script>




1) draggable = true

- 드래그 하고자 하는 태그에 속성을 부여한다

a. 기본으로 true로 정해진 태그

- 선택된 텍스트

- href

- src

2) DataTransfer

드래그 정보 관리

- 정보 셋팅: setData(키,값)

e.originalEvent.dataTransfer.setData('text',e.target.id);

- 정보 취득 : getData(키)

+e.originalEvent.dataTransfer.getData('text')

 값으로 텍스트, 혹은 url 지정

3) preventDefault

- 브라우저의 표중 동작이 우선처리되어 드롭 조작을 방해 할수 있다

기본 동작을 취할 수 있도록 설정

4) originalEvent 프로퍼티

- 드래그&드롭의 고유 이벤트 프로퍼티

- jQuery : e.originalEvent.dataTransfer

- javascript : e.dataTransfer





  1. 디자인 셀렉트 박스 & CSS

    Date2016.12.22 Views6347
    Read More
  2. 드래그 & 드랍 구현 - on()[이벤트리스너]

    Date2018.09.06 Views2896
    Read More
  3. 동적으로 콤보(select)의 항목(option) 생성하기

    Date2016.09.21 Views14377
    Read More
  4. 다중 select

    Date2021.03.31 Views316
    Read More
  5. 다른 프레임에 있는 객채 참조하는 방법

    Date2016.09.21 Views6471
    Read More
  6. 날짜 검색 범위 정하기 (jquery)

    Date2016.11.17 Views7320
    Read More
  7. 기본 동작 막기

    Date2021.03.25 Views284
    Read More
  8. 금액단위 제거 표기

    Date2016.12.22 Views6217
    Read More
  9. 검토하기: jQuery를 이용하여 form 처리하기

    Date2017.03.02 Views7513
    Read More
  10. 강제 click 이벤트 발생

    Date2016.09.09 Views7734
    Read More
  11. 간단한 스크롤 따라 움직이는 메뉴 만들기

    Date2021.03.26 Views727
    Read More
  12. 간단한 세로 메뉴

    Date2016.09.21 Views7306
    Read More
  13. 간단한 마우스 포인터 따라 다니기

    Date2021.03.26 Views594
    Read More
  14. 각종 다이어그램 플러그인 / 차트 / 관계 플러그인

    Date2016.09.09 Views9489
    Read More
  15. [jQuery] 확인 창(confirm), 페이지 이동(location.replace)

    Date2018.09.06 Views2652
    Read More
  16. [jQuery] 이용 아이디 중복체크 실시간

    Date2016.09.11 Views8876
    Read More
  17. [jQuery] 셀렉트박스에서 특정 옵션 선택시 레이어 나타내기

    Date2018.09.27 Views2553
    Read More
  18. [jQuery] 라디오(radio) 버튼, 체크박스(checkbox) 선택/해제 하는 방법

    Date2019.03.05 Views1129
    Read More
  19. [jQuery] split, join 으로 공백제거 하기

    Date2018.09.06 Views2146
    Read More
  20. [jQuery] input 박스에 maxlength 만큼 입력했을 때 자동으로 다음 박스로 이동하기

    Date2018.09.06 Views1820
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 Next
/ 9

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved