Last Updated on March 25, 2022 by
HTML5 adalah versi upgrade dari HTML sebelumnya yaitu HTML4. Uniknya, HTML versi ini menyediakan fitur drag and drop untuk Anda yang ingin membuat desain User Interface.
Konsep drag and drop sudah banyak diterapkan di berbagai aplikasi user interface. Pada artikel ini, Codekey akan secara khusus belajar HTML5 drag and drop. Apa itu HTML drag and drop? Bagaimana cara kerjanya?
Pada artikel ini kami akan membahas tentang drag and drop pada HTML 5. Jika Anda ingin belajar HTML drag and drop secara lebih detail, ini dia penjelasan lengkapnya!
Table of Contents
Apa itu HTML5 Drag and Drop?
HTML5 Drag and Drop adalah sebuah konsep memudahkan untuk menyalin, menyusun ulang, dan menghapus item dengan bantuan klik mouse. Ini memungkinkan pengguna untuk mengklik dan menahan tombol mouse ke bawah di atas elemen, menyeretnya ke lokasi lain dan melepaskan tombol mouse untuk menjatuhkan elemen di sana.
Drag and drop adalah sebuah prinsip dalam desain UI yang memungkinkan Anda untuk membuat desain hanya dengan melakukan drag and drop (seret dan lepas) objek dalam desain UI Anda.
Untuk mencapai fungsionalitas drag and drop dengan HTML4 tradisional, pengembang harus menggunakan pemrograman JavaScript yang kompleks atau kerangka kerja JavaScript lain seperti jQuery, dan lainnya.
Sekarang HTML 5 hadir dengan Drag and Drop (DnD) API yang membawa dukungan DnD asli ke browser sehingga lebih mudah untuk membuat kode.
Contoh Penerapan HTML5 Drag and Drop
HTML5 memungkinkan Anda membuat elemen apa pun yang dapat diseret, memungkinkan Anda mengambilnya dengan kursor dan menyeretnya ke lokasi berbeda yang didefinisikan sebagai elemen yang dapat dijatuhkan. Pada contoh di bawah ini, coba seret gambar ke kotak:
<!DOCTYPE HTML> <html> <head> <script type="text/javascript" src="scripts.js"></script> <link rel="stylesheet" href="styles.css"> </head> <body> <h1>Seret dan arahkan gambar kedalam kotak </h1> <div id="box" ondrop="dropTarget(event)" ondragover="allowDrop(event)"></div> <img id="img" src="images/contoh.png" alt="Contoh gambar" draggable="true" ondragstart="dragTarget(event)" width="100" height="100"> </body> </html>
#box { width: 500px; height: 500px; padding: 10px; border: 2px solid #000; }
function allowDrop(i) { i.preventDefault(); }
function dragTarget(i) { i.dataTransfer.setData("contoh", i.target.id);
function dropTarget(i) { i.preventDefault(); var data = i.dataTransfer.getData("contoh"); i.target.appendChild(document.getElementById(data)); }
Fungsionalitas ini menyederhanakan pengalaman pengguna dan bahkan memungkinkan pembuatan game online sederhana (sebagai contoh Anda dapat menarik dan melepas bidak catur virtual). Saat Anda menyeret elemen, replika transparannya bergerak bersama kursor hingga Anda menjatuhkannya dengan melepaskan tombol mouse.
Secara teknis, Drag and Drop adalah JavaScript API yang ditambahkan ke HTML5. Oleh karena itu, penting untuk memiliki setidaknya pengetahuan skrip dasar untuk dapat bekerja dengan fungsi ini.
Event untuk Drag and Drop HTML5
Pada tabel di bawah, Anda akan melihat semua event yang relevan dengan fungsi drag and drop:
Event | Penjelasan |
drag | Kursor bergerak sambil menyeret elemen |
drop | Proses drag selesai |
dragstart | Kursor mengambil elemen dan mulai menyeret |
dragend | Tombol mouse dilepaskan, menjatuhkan elemen |
dragenter | Kursor memasuki elemen target |
dragleave | Kursor meninggalkan elemen target |
dragover | Kursor bergerak di atas elemen target |
Langkah-Langkah dari Drag and Drop
Pengkodean drag and drop HTML5 tampaknya cukup rumit pada pandangan pertama karena menyertakan skrip dalam JS. Namun, mari kita pelajari setiap bagian prosesnya agar lebih mudah dipahami.
Elemen yang Dapat Diseret
Pertama, Anda harus memastikan bahwa elemen yang ingin Anda seret memiliki atribut HTML5 yang dapat diseret dan nilainya disetel ke true:
<img draggable="true">
Drag
Kemudian, tentukan apa yang akan terjadi setelah Anda menyeret objek. Anda dapat melakukannya dengan memanggil event handler untuk event dragstart dan mendefinisikan fungsi yang akan dieksekusi.
Nilai dan tipe data dari data yang diseret harus disetel oleh metode dataTransfer.setData():
function dragTarget(i) { i.dataTransfer.setData("contoh", i.target.id); }
Drop
Data HTML5 yang dapat diseret ditentukan dengan melampirkan pengendali event ke event drag. Elemen dan data tidak dapat dijatuhkan di elemen lain secara default. Ini berarti Anda harus menghentikan perilaku default elemen menggunakan metode event.preventDefault() :
event.preventDefault();
Peristiwa pelepasan terjadi saat data HTML5 yang dapat diseret dijatuhkan. Itu disebut oleh event handler ondrop:
function dropTarget(i) { i.preventDefault(); var data = i.dataTransfer.getData("contoh"); i.target.appendChild(document.getElementById(data)); }
Demikianlah penjelasan tentang HTML5 Drag and Drop yang perlu Anda ketahui. Anda dapat menyeret berbagai jenis elemen, termasuk namun tidak terbatas pada file, tautan, gambar, dan teks.
Anda juga dapat menyeret beberapa elemen sekaligus. Namun, disarankan agar semuanya dalam format yang sama untuk konsistensi. Elemen formulir yang menerima input pengguna dapat menjadi area yang dapat dijatuhkan secara default.
Jika Anda ingin tahu lebih banyak informasi seputar pengkodean khususnya HTML5, jangan lupa kunjungi Codekey di https://codekey.id/. Codekey adalah media untuk belajar HTML5 dengan mudah secara gratis kapan saja dan di mana saja.
Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.