Cara Membuat Drag and Drop pada HTML
![]() |
Drag dan Drop pada HTML |
Event drag dan drop: Terdapat banyak event drag dan drop seperti yang dijelaskan berikut ini:
- ondragstart; Memanggil sebuah fungsi, drag (event), dengan data spesifik mana yang akan di drag.
- ondragenter; Untuk memutuskan apakah dilakukan penerimaan atau tidak dari target drop. Jika object drop diterima, maka event ini akan dibatalkan.
- ondragleave; Terjadi ketika mouse melepaskan elemen sebelum valid drop target ketika proses drag sedang terjadi.
- ondragover; Secara spesifik dimana data yang di drag akan dilakukan drop.
- ondrop; Secara spesifik dimana proses drop telah terjadi ketika operasi drag telah berakhir.
- ondragend; Terjadi ketika user telah selesai melakukan drag elemen.
- dataTransfer.setData(format, data); Sekumpulan data yang akan di drag.
- dataTransfer.clearData(format); Memanggil fungsi dengan no_argument membersihkan semua data. Memanggil dengan format argumen menghapus data tertentu.
- dataTransfer.getData(format); Mengembalikan data dari format spesifik. Jika tidak terdapat data apapun, maka mengembalikan nilai string kosong.
- dataTransfer.types; Properti ini mengembalikan array dari segala format yang telah diatur untuk event dragstart.
- dataTransfer.file; Digunakan untuk mengembalikan semua file yang telah di drop.
- dataTransfer.setDraglmage(element, x, y); Digunakan untuk menampilkan gambar yang ada sebagai gambar drag ketimbang menggunakan default image pada cursor. Koordinat menentukan lokasi penurunan.
- dataTransfer.addElement(element); Penambahan elemen spesifik yang akan ditarik sebagai drag feedback image.
- dataTransfer.effectAllowed(value); Memberitahu browser bahwa hanya tipe daftar dari operasi yang diijinkan oleh user. Properti dapat diatur sebagai berikut: none, copy, copyLink, copyMove, link, linkMove, move, all, dan uninitilialized.
- dataTransfer.dropEffect(value); Mengendalikan feedback yang diberikan oleh user selama event dragenter dan dragover. Ketika user membawa elemen target, cursor browser akan mengindikasi tipe apa dari operasi yang akan dijalankan (seperti copy, move, dan lain sebagainya). Efek yang diberikan seperti berikut ini: none, copy, link, move.
tahap satu, Membuat objek yang dapat dilakukan drag.
- pertama, Setting atribut drag bernilai true untuk elemen yang akan dilakukan drag <img draggable="true">.
- kedua, Tentukan apa yang akan terjadi ketika proses drag dilakukan. Atribut ondragstart akan memanggil sebuah fungsi drag(even) yang akan menentukan data mana yang akan dilakukan drag. Method dataTransfer.setData() mengatur tipe data dan nilai dari data yang di drag.
- ketiga, Event listener ondragstar akan mengatur efek yang diijinkan (copy, move, link, atau terdiri dari beberapa kombinasi).
function dragStart(ev)
Tahap dua, Drop objek
- keempat, pada event ondragover menentukan dimana data yang di drag akan di drop. Secara otomatis, data atau elemen tidak dapat di drop dalam elemen lainnya. Untuk memungkinkan terjadi proses drop, makan perlu dilakukan pencegahan default handling dari elemen. Hal ini dapat diselesaikan dengan pemanggilan method event.preventDefault().
- terakhir, event drop, memungkinkan proses drop dapat dilakukan secara nyata.
function dragDrop(ev)
ev.preventDefault();
var data = ev.dataTransfer.getData("text");
ev.target.appendChild(document.getElementById(data));}
Contoh:
<!DOCTYPE HTML>
<html>
<head>
<title>
Drag and Drop box
</title>
<script>
function allowDrop(ev) {
ev.preventDefault();}
function dragStart(ev) {
ev.dataTransfer.setData("text", ev.target.id);}
function dragDrop(ev) {
ev.preventDefault();
var data = ev.dataTransfer.getData("text");
ev.target.appendChild(document.getElementById(data));}
</script>
<style>
#box {
margin: auto;
width: 50%;
height:200px;
border: 3px solid green;
padding: 10px;
}
#box1, #box2, #box3 {
float: left;
margin: 5px;
padding: 10px;
}
#box1 {
width: 50px;
height: 50px;
background-color: #F5B5C5;
}
#box2 {
width: 100px;
height: 100px;
background-color: #B5D5F5;
}
#box3 {
width: 150px;
height: 150px;
background-color: #BEA7CC;
}
p {
font-size:20px;
font-weight:bold;
text-align:center;
}
.mkn {
font-size:40px;
color:#009900;
font-weight:bold;
text-align:center;
}
</style>
</head>
<body>
<div class = "mkn">
Menu tarik tarik
</div>
<p>
Drag and drop of boxes
</p>
<div id = "box">
<div id="box1" draggable="true"ondragstart="dragStart(event)"></div>
<div id="box2" draggable="true"ondragstart="dragStart(event)"></div>
<div id="box3" ondrop="dragDrop(event)" ondragover="allowDrop(event)"></div>
</div>
</body>
</html>
- Proses drag dimulai dengan mengatur properti draggable dari elemen yang akan di drag menjadi bernilai true.
- Dapatkan data drag dengan method dataTransfer.getData(). Method ini akan mengembalikan data apapun yang telah diatur dengan tipe sama pada method setData().
- Pemanggilan method event.preventDefault() untuk mengijinkan drop data dari elemen ke dalam elemen lain melalui pencegahan default handling dari elemen.
- Elemen kemudian disimpan dalam variabel data yang mana dapat ditambahkan ke dalam elemen drop.
<!DOCTYPE HTML>
<html>
<head>
<script>
function allowDrop(ev)
{ev.preventDefault();}
function dragStart(ev)
{ev.dataTransfer.setData("text", ev.target.id);}
function dragDrop(ev)
{ev.preventDefault();
var data = ev.dataTransfer.getData("text");
ev.target.appendChild(document.getElementById(data));}
</script>
<style>
.div1 {
width: 240px;
height: 75px;
padding: 10px;
border: 1px solid black;
background-color: #F5F5F5;}
p {
font-size:20px;
font-weight:bold;}
.mkn {
font-size:40px;
color:#009900;
font-weight:bold;}
</style>
</head>
<body>
<div class = "mkn">
Menu Tarik Tarik
</div>
<p>
Drag and Drop gambar di dalam kotak
</p>
<div class="div1" ondrop="dragDrop(event)" ondragover="allowDrop(event)">
<img id="drag1" src="https://upload.wikimedia.org/wikipedia/id/9/94/NarutoCoverTankobon1.jpg" draggable="true" ondragstart="dragStart(event)" width="220" height="70">
</div>
<br>
<div class="div1" ondrop="dragDrop(event)" ondragover="allowDrop(event)"></div>
</body>
</html>
- 2 Jenis Utama Penggunaan File Path pada HTML [klik]
- 4 Cara Pengaturan Utama Penggunaan Iframe pada HTML [klik]
- Cara Sederhana Membuat Komentar pada HTML [klik]
- 8 Pengaturan Utama Penggunaan Link pada Dokumen HTML [klik]
- 24 Jenis Karakter Deprecated Tag pada HTML [klik]
- 260 Karakter Utama URL Encoding yang Digunakan pada HTML [klik]
- 5 Contoh Program Penggunaan SVG Dasar pada HTML [klik]
Apa yang dimaksud dengan drag n drop pada html?
BalasHapusDrag and drop HTML adalah fitur yang menggunakan event DOM yang berasal dari event mouse. Operasi drag dimulai ketika user memilih elemen yang dapat didrag, dan menyeretnya ke elemen yang dapat di drop, dan kemudian melepaskan element yang dapat di drag tersebut.
HapusDrag and Drop adalah konsep yang sangat interaktif dan user friendly yang membuat pengoperasian web menjadi lebih mudah untuk proses memindahkan object ke lokasi berbeda dari lokasi semula. Fitur ini juga memungkinkan untuk menahan tombol mouse terhadap posisi suatu elemen, atapun menyeret elemen yang dituju ke lokasi lain, dan melepaskan tombol mouse untuk melepaskan elemen yan diseret atau di drag tersebut pada posisi yang sesuai.
HapusBagaimana cara mengimplementasikan fitur drag n drop pada html5?
BalasHapusUntuk menerapkan fitur drag n drop pada HTML, maka perlu dilakukan dua proses berikut:
Hapus1. Untuk mengimplementasikan drag n drop HTML5, maka ciptakan object yang akan dilakukan penyeretan atau object drag.
2. Atur atribut ke tipe dragabble ke nilai TRUE dan atur event listener untuk dragstart yang menyimpan data yang sedang diseret.