tutoriais mais recente desenvolvimento web
 

OnDragLeave Evento

<Objeto de evento

Exemplo

Executar um JavaScript quando um elemento arrastável for movida para fora de um destino de soltar:

<div ondragleave="myFunction(event)"></div>
Tente você mesmo "

Mais "Try it Yourself" exemplos abaixo.


Definição e Uso

O evento OnDragLeave ocorre quando um elemento arrastável ou seleção de texto deixa um destino de soltar válido.

O OnDragEnter e eventos OnDragLeave pode ajudar o usuário a entender que um elemento arrastável está prestes a entrar ou sair de um destino de soltar. Isto pode ser feito por, por exemplo, definir uma cor de fundo, quando o elemento arrastável entra no alvo gota, e a remoção da cor quando o elemento é deslocado para fora do alvo gota.

Arrastar e soltar é uma característica muito comum em HTML5. É quando você "grab" um objeto e arrastá-lo para um local diferente. Para mais informações, consulte o nosso Tutorial HTML em HTML5 Drag and Drop .

Nota: Para fazer com que um elemento arrastável, usar o HTML5 mundial draggable atributo.

Dica: links e imagens podem ser arrastados por padrão, e não precisa do draggable atributo.

Existem muitos eventos que são usados, e pode ocorrer, nas diferentes fases de uma operação de arrastar e soltar:

  • Eventos disparados no alvo draggable (the source element) :
    • ondragstart - ocorre quando o usuário começa a arrastar um elemento
    • ondrag - ocorre quando um elemento está sendo arrastado
    • ondragend - ocorre quando o usuário tiver terminado arrastando o elemento

  • Eventos disparados sobre o destino de soltar:
    • OnDragEnter - ocorre quando o elemento arrastado entra no alvo gota
    • ondragover - ocorre quando o elemento é arrastado sobre o alvo gota
    • OnDragLeave - ocorre quando o elemento arrastado deixa o destino de soltar
    • ondrop - ocorre quando o elemento arrastado é solto sobre o destino de soltar

Suporte navegador

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

Evento
ondragleave 4.0 9 3,5 6 12,0

Sintaxe

Em HTML:

Em JavaScript:

object .ondragleave=function(){ Tente você mesmo "

Em JavaScript, usando o addEventListener() Método:

object .addEventListener("dragleave", myScript );
Tente você mesmo "

Nota: O addEventListener() método não é suportado no Internet Explorer 8 e versões anteriores.


Detalhes técnicos

Bolhas: sim
cancelable: Não
Tipo de evento: DragEvent
tags HTML suportadas: Todos os elementos HTML
DOM Versão: Nível 3 Eventos

Exemplos

mais Exemplos

Exemplo

A demonstração de todos os possíveis eventos de arrastar e soltar:

<p draggable="true" id="dragtarget">Drag me!</p>

<div class="droptarget">Drop here!</div>

<script>
/* ----------------- Events fired on the drag target ----------------- */

document.addEventListener("dragstart", function(event) {
    // The dataTransfer.setData() method sets the data type and the value of the dragged data
    event.dataTransfer.setData("Text", event.target.id);

    // Output some text when starting to drag the p element
    document.getElementById("demo").innerHTML = "Started to drag the p element.";

    // Change the opacity of the draggable element
    event.target.style.opacity = "0.4";
});

// While dragging the p element, change the color of the output text
document.addEventListener("drag", function(event) {
    document.getElementById("demo").style.color = "red";
});

// Output some text when finished dragging the p element and reset the opacity
document.addEventListener("dragend", function(event) {
    document.getElementById("demo").innerHTML = "Finished dragging the p element.";
    event.target.style.opacity = "1";
});


/* ----------------- Events fired on the drop target ----------------- */

// When the draggable p element enters the droptarget, change the DIVS's border style
document.addEventListener("dragenter", function(event) {
    if ( event.target.className == "droptarget" ) {
        event.target.style.border = "3px dotted red";
    }
});

// By default, data/elements cannot be dropped in other elements. To allow a drop, we must prevent the default handling of the element
document.addEventListener("dragover", function(event) {
    event.preventDefault();
});

// When the draggable p element leaves the droptarget, reset the DIVS's border style
document.addEventListener("dragleave", function(event) {
    if ( event.target.className == "droptarget" ) {
        event.target.style.border = "";
    }
});

/* On drop - Prevent the browser default handling of the data (default is open as link on drop)
Reset the color of the output text and DIV's border color
Get the dragged data with the dataTransfer.getData() method
The dragged data is the id of the dragged element ("drag1")
Append the dragged element into the drop element
*/
document.addEventListener("drop", function(event) {
    event.preventDefault();
    if ( event.target.className == "droptarget" ) {
        document.getElementById("demo").style.color = "";
        event.target.style.border = "";
        var data = event.dataTransfer.getData("Text");
        event.target.appendChild(document.getElementById(data));
    }
});
</script>
Tente você mesmo "

Páginas relacionadas

HTML Tutorial: Arraste HTML5 and Drop

Referência HTML: HTML Atributo draggable


Evento Object Reference objeto de evento