메뉴 건너뛰기

조회 수 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. No Image 22Dec
    by
    2016/12/22 Views 6347 

    디자인 셀렉트 박스 & CSS

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

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

    동적으로 콤보(select)의 항목(option) 생성하기

  4. No Image 31Mar
    by
    2021/03/31 Views 316 

    다중 select

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

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

  6. 날짜 검색 범위 정하기 (jquery)

  7. No Image 25Mar
    by
    2021/03/25 Views 284 

    기본 동작 막기

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

    금액단위 제거 표기

  9. No Image 02Mar
    by
    2017/03/02 Views 7513 

    검토하기: jQuery를 이용하여 form 처리하기

  10. No Image 09Sep
    by
    2016/09/09 Views 7734 

    강제 click 이벤트 발생

  11. No Image 26Mar
    by
    2021/03/26 Views 727 

    간단한 스크롤 따라 움직이는 메뉴 만들기

  12. No Image 21Sep
    by
    2016/09/21 Views 7306 

    간단한 세로 메뉴

  13. No Image 26Mar
    by
    2021/03/26 Views 594 

    간단한 마우스 포인터 따라 다니기

  14. No Image 09Sep
    by
    2016/09/09 Views 9489 

    각종 다이어그램 플러그인 / 차트 / 관계 플러그인

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

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

  16. No Image 11Sep
    by
    2016/09/11 Views 8876 

    [jQuery] 이용 아이디 중복체크 실시간

  17. No Image 27Sep
    by
    2018/09/27 Views 2553 

    [jQuery] 셀렉트박스에서 특정 옵션 선택시 레이어 나타내기

  18. No Image 05Mar
    by
    2019/03/05 Views 1129 

    [jQuery] 라디오(radio) 버튼, 체크박스(checkbox) 선택/해제 하는 방법

  19. No Image 06Sep
    by
    2018/09/06 Views 2146 

    [jQuery] split, join 으로 공백제거 하기

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

    [jQuery] input 박스에 maxlength 만큼 입력했을 때 자동으로 다음 박스로 이동하기

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

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved