2011년 1월 5일 수요일

HTML5 에서의 Drag & Drop

아싸, W3C 의 형들이 열심히 노력을 하여
HTML5 에서는 Drag & Drop API 가 들어있다고 하니, 훌륭하다.
이전에는 mousedown, mouseover 라는 일반적인 마우스 이벤트를 이용하여 구현하였지만, 이제는 전용 API 가 있는것이다.

일단 드래그 대상을 지정하기위해서는
요소에 draggable 속성을 지정한다.
예)
  • 사과


  • - DataTransfer 객체
    드래그 드롭처리는 DataTransfer 객체를 통해 데이터를 주고 받는다고 보면 된다. 그리고 드래그를 시작할 때 이를 처리하려면 드래그 대상 요소로부터 발생하는 dragstart 이벤트를 이용한다.

    - 드롭 대상요소에서 이벤트를 처리
    dragenter
    dragover
    drop
    드롭을 허용하려면 이벤트의 기본값 상태를 취소(event.preventDefault()) 해야 한다.



    아, Drag & Drop 의 Java Script 구현...
    구글신이 보우하사 찾아보게된 지식과 자료들을 영문이었지만
    이해하는 대로 여기 다시 한글로 정리해보도록 한다.
    ------------------------------------------------------------------------------
    Google Gears plugin V0.5.21.0 에 의해 데스크탑과 브라우저간의
    Drag & Drop 이 가능해지게 되었다. 구글 만세 !
    이는, Google I/O 행사에서 Google Wave prototype 의 데모시 보여지게 되었다.

    .... 라고 하던 순간, HTML5 에서 이 feature 는 가능해졌나보다.
    일단 Google Gears 를 이용하는 방법은 아래 링크를 참조하도록 하고...

    나는 HTML5 를 공부해야 겠당...