Ultimele tutoriale de dezvoltare web
 

Eveniment ondragstart

<Eveniment obiect

Exemplu

Executați un JavaScript atunci când utilizatorul începe să trageți un <p> Element:

<p draggable="true" ondragstart="myFunction(event)">Drag me!</p>
Încearcă - l singur »

Mai multe "Try it Yourself" - "Try it Yourself" exemplele de mai jos.


Definiție și utilizare

Evenimentul ondragstart apare atunci când utilizatorul începe să trageți un element sau o selecție de text.

Trageți și plasați este o caracteristică foarte frecvente în HTML5. Acesta este atunci când "grab" un obiect și trageți-o într - o altă locație. Pentru mai multe informații, consultați programul de instruire HTML pe HTML5 Drag and Drop .

Notă: Pentru a face un element draggable, utilizați HTML5 la nivel mondial draggable atribut.

Sfat: Link - uri și imaginile sunt draggable în mod implicit, și nu au nevoie de draggable atributul.

Există mai multe evenimente care sunt folosite, și pot apărea, în diferitele etape ale unei operații de glisare și fixare:

  • Evenimente tras asupra țintei draggable (the source element) :
    • ondragstart - apare atunci când utilizatorul începe să trageți un element de
    • ondrag - are loc atunci când un element este tarat
    • ondragend - apare atunci când utilizatorul a terminat tragerea elementului

  • Evenimentele au tras pe țintă picătură:
    • ondragenter - apare atunci când elementul tras intră țintă picătură
    • ondragover - apare atunci când elementul de tras este peste tinta drop -
    • ondragleave - apare atunci când elementul târât părăsește ținta picătură
    • ondrop - apare atunci când elementul tras este lăsat să cadă pe țintă picătură

Suport pentru browser-

Numerele din tabel specifica prima versiune de browser care acceptă pe deplin evenimentul.

Eveniment
ondragstart 4 9 3.5 6 12,0

Sintaxă

In HTML:

În JavaScript:

object .ondragstart=function(){ Încearcă - l singur »

În JavaScript, folosind addEventListener() metoda:

object .addEventListener("dragstart", myScript );
Încearcă - l singur »

Notă: addEventListener() , metoda nu este acceptată în Internet Explorer 8 și versiunile anterioare.


Detalii tehnice

Bule: da
anulabil: da
Tip de eveniment: DragEvent
Tag-uri HTML acceptate: Toate elementele HTML
DOM Versiune: Nivelul 3 Evenimente

Exemple

Mai multe exemple

Exemplu

O demonstratie a posibilelor evenimente drag and drop:

<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>
Încearcă - l singur »

Pagini similare

Tutorial HTML: Drag and Drop HTML5

HTML de referință: HTML Atribut draggable


Eveniment obiect de referință obiect Eveniment