메뉴 건너뛰기

조회 수 2891 추천 수 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. No Image 02Mar
    by
    2017/03/02 Views 6770 

    jQuery 실행패턴

  2. No Image 21Sep
    by
    2016/09/21 Views 6679 

    jQuery 예약어 $ 를 사용하지 못하는 경우 해결책 noConflict()

  3. No Image 21Sep
    by
    2016/09/21 Views 6667 

    체크박스 또는 라디오 버튼의 체크여부 변경하기

  4. 슬라이드 쇼

  5. No Image 17Nov
    by
    2016/11/17 Views 6511 

    jquery 뒤로가기

  6. No Image 21Sep
    by
    2016/09/21 Views 6471 

    다른 프레임에 있는 객채 참조하는 방법

  7. No Image 22Dec
    by
    2016/12/22 Views 6470 

    scrolling to top

  8. No Image 21Sep
    by
    2016/09/21 Views 6412 

    load() 메소드

  9. No Image 22Dec
    by
    2016/12/22 Views 6347 

    디자인 셀렉트 박스 & CSS

  10. No Image 22Dec
    by
    2016/12/22 Views 6217 

    금액단위 제거 표기

  11. jquery css div, li 리스트 선택한 메뉴 변경 출처: http://okkks.tistory.com/1062 [이건없지]

  12. No Image 06Sep
    by
    2018/09/06 Views 5330 

    jquery - select option 선택값 가져오기

  13. No Image 04Jul
    by
    2018/07/04 Views 4666 

    jquery 체크박스 배열 처리. 변수 하나에 담기.

  14. No Image 28Sep
    by
    2018/09/28 Views 3612 

    특정영역 제외하고 body 클릭

  15. No Image 04Jul
    by
    2018/07/04 Views 3362 

    jQuery 유효성 검사

  16. jQuery 기초 (txt 파일 가져오기 (load) , 클릭시에 배경색을 변경(json))

  17. No Image 21May
    by
    2019/05/21 Views 3102 

    jquery 드래그 앤 드롭 파일 업로드

  18. 드래그 & 드랍 구현 - on()[이벤트리스너]

  19. No Image 05Mar
    by
    2019/03/05 Views 2870 

    jquery 팝업 차단 없이 띄우기

  20. No Image 06Sep
    by
    2018/09/06 Views 2652 

    [jQuery] 확인 창(confirm), 페이지 이동(location.replace)

Board Pagination Prev 1 2 3 4 5 6 7 8 9 Next
/ 9

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved