Exemplu
Executați un JavaScript când un <p> elementul este tras:
<p draggable="true" ondrag="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 ondrag are loc atunci când un element sau o selecție de text este tras.
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ă
Notă: În timp ce glisarea un element, evenimentul ondrag se declanșează la fiecare 350 milisecunde.
Suport pentru browser-
Numerele din tabel specifica prima versiune de browser care acceptă pe deplin evenimentul.
Eveniment | |||||
---|---|---|---|---|---|
ondrag | 4 | 9 | 3.5 | 6 | 12,0 |
Sintaxă
In HTML:
< Încearcă - l singur »
În JavaScript:
object .ondrag=function(){ Încearcă - l singur »
În JavaScript, folosind addEventListener() metoda:
object .addEventListener("drag", 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 |
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
obiect Eveniment