drag
Misol
<p> elementi sudralayotganda funksiyani chaqiring:
<p draggable="true" ondrag="myFunction(event)">Drag me!</p>
O‘zingiz sinab ko‘ring »
Quyida ko‘proq misollar.
Tavsif
ondrag hodisasi belgilangan qism sudralayotganda sodir bo‘ladi.
Drag and drop (sudrab tashlash) — HTML’dagi keng tarqalgan imkoniyat. Bunda obyektni "ushlab", boshqa joyga sudrab olib borasiz.
Elementni sudraladigan qilish uchun draggable atributidan foydalaning.
Batafsil ma’lumot uchun HTML Drag and Drop darsligiga qarang.
Havolalar va rasmlar standart holatda sudraladigan bo‘ladi va ularga draggable atributi kerak emas.
Sudrab tashlash amalining turli bosqichlarida ko‘plab hodisalar sodir bo‘ladi (quyida qarang):
Sudrash hodisalari
Sudraladigan elementda:
| Hodisa | Qachon sodir bo‘ladi |
|---|---|
| ondrag | Element sudralmoqda |
| ondragstart | Foydalanuvchi elementni sudrashni boshlaydi |
| ondragend | Foydalanuvchi elementni sudrashni tugatdi |
Eslatma: Element sudralayotganda ondrag hodisasi har 350 millisoniyada ishga tushadi.
Tashlash nishonida:
| Hodisa | Qachon sodir bo‘ladi |
|---|---|
| ondragenter | Sudralayotgan element tashlash nishoniga kiradi |
| ondragleave | Sudralayotgan element tashlash nishonidan chiqadi |
| ondragover | Sudralayotgan element tashlash nishoni ustida turibdi |
| ondrop | Sudralayotgan element nishonga tashlanadi |
Shuningdek qarang:
Drag Event obyekti
draggable atributi
Darslik:
Sintaksis
JavaScript’da, addEventListener() metodi yordamida:
object.addEventListener("drag", myScript);
O‘zingiz sinab ko‘ring »
Texnik tafsilotlar
| Ko‘tariladimi (bubbles): | Ha |
|---|---|
| Bekor qilish mumkinmi: | Ha |
| Hodisa turi: | DragEvent |
| HTML teglari: | Barcha HTML elementlari |
| DOM versiyasi: | Level 3 hodisalari |
Ko‘proq misollar
Misol
BARCHA mumkin bo‘lgan sudrab tashlash hodisalarining namoyishi:
<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>
O‘zingiz sinab ko‘ring »
Brauzerlarda qo‘llab-quvvatlash
ondrag DOM Level 3 (2004) imkoniyatidir.
U barcha zamonaviy brauzerlarda to‘liq qo‘llab-quvvatlanadi:
| Chrome | Edge | Firefox | Safari | Opera | IE |
| Ha | Ha | Ha | Ha | Ha | 11 |
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
