tutoriais mais recente desenvolvimento web

HTML5 Drag and Drop


Arrastar e soltar é uma parte do padrão HTML5.


Arrastar a imagem acima para o rectângulo.


em HTML

O trabalho projecto de especificação HTML5 inclui suporte para drag & drop. HTML5 suporta diferentes tipos de arrastar e soltar recursos, incluindo:

  • Arrastar e soltar textos e códigos HTML
  • Arrastar e soltar elementos HTML
  • Arrastar e soltar arquivos

Com base na acção necessária, um dos tipos anteriores pode ser usado. Note-se que quando um elemento HTML é arrastado para mover a sua posição actual, o seu ID é enviado para o destino elemento pai; por isso envia um texto e pode ser considerado como o primeiro grupo.

aplicativo de e-mail baseado na web do Google Gmail suporta drag-and-drop de imagens e anexos no navegador Google Chrome o mais recente e Safari da Apple (5.x). E pesquisa de imagens do Google suporta drag & drop.


Drag and Drop

Arrastar e soltar é uma característica muito comum. É quando você "grab" um objeto e arrastá-lo para um local diferente.

Em HTML5, arrastar e soltar é parte do padrão, e qualquer elemento pode ser arrastado.


Suporte navegador

Os números na tabela especificar a primeira versão do navegador que suporta totalmente Drag and Drop.

API
Drag and Drop 4.0 9 3,5 6 12,0

Arraste HTML e Exemplo Gota

O exemplo a seguir é um exemplo simples de arrastar e largar:

Exemplo

<!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>
Tente você mesmo "

Pode parecer complicado, mas vamos passar por todas as diferentes partes de um evento de arrastar e soltar.


Faça um elemento Draggable

Primeiro de tudo: Para tornar um elemento arrastável, defina o draggable atributo a true :

<img draggable="true">

O que Arraste - ondragstart e setData()

Em seguida, especifique o que deve acontecer quando o elemento é arrastado.

No exemplo acima, o ondragstart atributo chama uma função, drag(event) , que especifica quais dados a ser arrastado.

O dataTransfer. setData() dataTransfer. setData() método define o tipo de dados e o valor dos dados arrastado:

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

Neste caso, o tipo de dados é "text" e o valor é o id do elemento arrastável ("drag1") .


Onde Drop - ondragover

O ondragover evento especifica onde os dados arrastados podem ser largados.

Por padrão, os dados / elementos não pode ser descartado em outros elementos. Para permitir uma queda, devemos evitar a manipulação padrão do elemento.

Isso é feito chamando o event. preventDefault() event. preventDefault() método para a ondragover evento:

event . preventDefault()

Faça o Drop - ondrop

Quando os dados arrastado é solto, um evento de queda ocorre.

No exemplo acima, o ondrop atributo chama uma função, drop(event) :

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

Código explicou:

  • Chamar preventDefault() para impedir a manipulação padrão do navegador dos dados (default is open as link on drop)
  • Obter os dados arrastados com o dataTransfer. getData() dataTransfer. getData() método. Este método irá devolver quaisquer dados que foram estabelecidos para o mesmo tipo no setData() Método
  • Os dados arrastado é o id do elemento arrastado ("drag1")
  • Acrescentar o elemento arrastado para a drop elemento

Imagem de arrasto e para trás
Como arrastar (and drop) uma imagem e para trás entre dois <div> elementos.