Najnowsze tutoriale tworzenie stron internetowych

HTML5 Drag and Drop


Przeciągnij i upuść jest częścią standardu HTML5.


Przeciągnij obraz powyżej do prostokąta.


w HTML

Szczegółowy projekt pracy HTML5 obsługuje przeciągnij. HTML5 obsługuje różne rodzaje przeciąganie i upuszczanie elementów, w tym:

  • Przeciągnij i upuść teksty i kody HTML
  • elementy HTML przeciągnij i upuść
  • Przeciągnij i upuść pliki

W oparciu o działania potrzebne, można stosować jedną z powyższych typów. Zauważ, że gdy element HTML jest przeciągnięty do poruszania swoją obecną pozycję, jego identyfikator jest wysyłany do elementu docelowego macierzystej; więc wysyła tekst i może być uważana za pierwszą grupą.

web-based Aplikacja e-mail Google Gmail obsługuje drag-and-drop zdjęć i załączników w najnowszej przeglądarki Google Chrome i Apple Safari (5.x). Obraz i wyszukiwarka Google obsługuje drag & drop.


Przeciągnij i upuść

Przeciągnij i upuść jest bardzo częstym elementem. To jest, kiedy "grab" obiekt i przeciągnąć go w innym miejscu.

HTML5, przeciągnij i upuść stanowi część standardu, a każdy element może być przyciągany.


Wsparcie przeglądarka

Liczby w tabeli określ pierwszą wersję przeglądarki, która w pełni obsługuje przeciągnij i upuść.

API
Drag and Drop 4.0 9.0 3.5 6.0 12,0

Przeciągnij i upuść HTML Przykład

Poniższy przykład jest prosty przeciągnij i upuść przykład:

Przykład

<!DOCTYPE HTML>
<html>
<head>
<script>
function allowDrop(ev) {
    ev.preventDefault();
}

function drag(ev) {
    ev.dataTransfer.setData("text", ev.target.id);
}

function drop(ev) {
    ev.preventDefault();
    var data = ev.dataTransfer.getData("text");
    ev.target.appendChild(document.getElementById(data));
}
</script>
</head>
<body>

<div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div>

<img id="drag1" src="img_logo.gif" draggable="true"
ondragstart="drag(event)" width="336" height="69">

</body>
</html>
Spróbuj sam "

To może wydawać się skomplikowane, ale pozwala przejść przez wszystkie różne części imprezy przeciągnij i upuść.


Złóż Element Draggable

Przede wszystkim: Aby element przyciągany, ustawić draggable atrybut true :

<img draggable="true">

Co Drag - ondragstart i setData()

Następnie należy określić co powinno się zdarzyć, gdy element jest przeciągany.

W powyższym przykładzie, ondragstart atrybut nazywa funkcja drag(event) , który określa, jakie dane mają być przeciągane.

dataTransfer. setData() dataTransfer. setData() metoda określa typ danych i wartość przeciągany danych:

function drag(ev) {
    ev.dataTransfer. setData("text", ev.target.id) ;
}

W tym przypadku typ danych "text" oraz wartość jest identyfikatorem do przesunięcia elementu ("drag1") .


Gdzie Drop - ondragover

ondragover zdarzenie określa, gdzie przeciągnięte dane mogą zostać pominięte.

Domyślnie dane / elementy nie mogą zostać pominięte w innych elementach. Aby umożliwić spadek, musimy uniemożliwić manipulację domyślnego elementu.

Odbywa się to poprzez wywołanie event. preventDefault() event. preventDefault() Sposób ondragover przypadku:

event . preventDefault()

Zrobić drop - ondrop

Kiedy przeciągnięty danych jest odrzucany, zdarzenie drop występuje.

W powyższym przykładzie, ondrop atrybut wywołuje funkcję, drop(event) :

function drop(ev) {
    ev. preventDefault() ;
    var data = ev.dataTransfer. getData("text") ;
    ev.target. appendChild(document.getElementById(data) );
}

Kod wyjaśnił:

  • Zadzwoń preventDefault() w celu zapobieżenia obchodzenia się domyślną przeglądarką danych (default is open as link on drop)
  • Uzyskaj przeciągane dane z dataTransfer. getData() dataTransfer. getData() metody. Metoda ta zwraca dane, które zostały ustalone dla tego samego typu w setData() Sposób
  • Przeciągany danych identyfikator przeciąganego elementu ("drag1")
  • Dołącza przeciągany element do drop elementu

Przeciągnij obraz iz powrotem
Jak przeciągać (and drop) obraz iz powrotem między dwoma <div> elementów.