Skip to main content

Drag & Drop API | JavaScript

Halo! Materi hari ini saya mempelajari tentang drag and drop API dalam HTML. Cara kerja fitur ini adalah dengan menyeretkan suatu objek dan meletakkannya di tempat lain, seperti pada dalam <div>. Fitur ini biasanya digunakan untuk mengunggah file, membuat list tugas interaktif, membuat interface interaktif, dan lain-lain.


Sebelum kita membuat drag and drop-nya, kita harus membuat target dan objek yang akan diseret. Caranya adalah dengan membuat <div> yang untuk targetnya. Untuk objeknya sendiri, kita bisa menggunakan teks ataupun gambar, tetapi untuk artikel ini akan menggunakan gambar. Setelah itu, tambahkan atribut id, ondrop="drop(event)", dan ondragover="allowDrop(event)" pada elemen <div>. Kemudian untuk element <img> atau <p>, tambahkan atribut id, draggable="true", dan ondragstart="drag(event)" serta src untuk <img>.


Selanjutnya adalah JavaScript-nya. Pertama, kita membuat fungsi allowDrop(event) dengan argumen event. Di fungsi ini, kita akan membuatnya supaya tidak akan menjalan aksi default-nya. Jadi pada fungsi ini kita akan menulis event.preventDefault().


Kedua, kita membuat fungsi drag(event). Di sini kita akan menyiapkan data untuk dikirim ke targetnya. Pada fungsi ini akan ditulis event.dataTransfer.setData("text", event.target.id), di mana pada properti dataTransfer, data akan diformatkan menjadi teks dan ditujukan ke event.target.id dalam setData().


Ketiga, adalah fungsi drop(event). Pada fungsi ini, kita akan menghentikan aksi default-nya dengan event.preventDefault(). Selanjutnya, kita membuat variabel data yang diisi dengan event.dataTransfer.getData("text"). Metode ini akan mengambil data dari setData() tadi. Seterusnya, akan menambah data tersebut pada target <div> dengan menulis event.target.appendChild(document.getElementById(data)). Baris ini akan menambah data sebagai "anak" pada target <div>.


Sekarang drag and drop-nya sudah selesai, tinggal diuji saja programmannya. Itu saja untuk materi drag and drop, jumpa lagi di materi berikutnya!


Project Source Code

Comments

Popular posts from this blog

Validasi Input | JavaScript

Halo! IT Corner Rabu saya belajar tentang cara melakukan validasi input di JavaScript. Kalian sudah tahu kan cara mengambil input, baik dari element input ataupun menggunakan prompt dalam JavaScript. Nah, input yang diterima itu kadang-kadang tidak sesuai dengan program yang telah dibuat. Contohnya input yang meminta password 8 karakter, tetapi yang diterima adalah password 6 karakter. Caranya supaya input tersebut tidak diterima supaya nanti programnya tidak error yaitu menggunakan validasi. Cara validasi yang dapat digunakan untuk yang ini dapat menggunakan metode length. Misalkan, jika ingin membuat kondisi di mana passwordnya minimal 8 karakter, jadi dapat menggunakan metode tadi dalam perintah if. Contohnya di bawah ini. let input = document.getElementById("t1").value;   if (input.length < 8) {     return; } Di situ akan mengambil nilai dari elemen input, kemudian akan dicek apakah panjang input kurang dari lapan. Jika iya, akan keluar dari function, dan jika tida...

Login & Registration Form | Project

Halo! Hari ini saya membuat project tentang form login dan registrasi. Sebenarnya ini sama saja dengan yang blog materi HTML Form itu, tapi yang ini lebih lengkap dengan tambahan form login. Versi yang baru ini lebih bagus dari versi yang lama dengan UI-nya yang lebih elegen serta fitur redirect untuk login di bagian kanan atas. Versi ini mengurangi tujuh jenis input menjadi tiga, yaitu hanya email, username, dan password. Untuk password-nya sendiri, akan dicek apakah password-nya minimal 8 karakter. Untuk bagian login-nya, terdapat redirect untuk registrasi di kanan atas juga serta di bawah tombol "Masuk". Di sini juga terdapat link jika pengguna lupa password-nya. Untuk inputnya sendiri hanya ada dua, yaitu yang atas untuk email atau username, dan yang bawah untuk password. Tidak lupa juga, UI kedua form ini saya mengambil inspirasi dari beberapa website seperti Roblox, Pixiv, Twitter (X), dan Github. Itu saja untuk blog ini tentang project login dan registration form. Samp...

Classes | JavaScript

Halo! IT Corner Rabu ini materinya adalah classes dalam JavaScript. Class itu adalah sebuah template atau blueprint untuk membuat objek. Class ini mendefinisikan struktur, data, dan sifat objek. Class menggunakan keyword 'class' untuk membuatnya. Di dalam class tersebut, terdapat keyword 'constructor' yang meninitialisasikan properti atau variabel class tersebut. Selain itu, juga ada method atau function di dalam class itu. Seterusnya, ada keyword 'new' untuk membuat instansi baru dari sebuah class. Salah satu contohnya adalah penulisan blogger saya. Kalau kalian perhatian cara penulisannya, pasti pembukaan dan penutupan hampir selalu sama. Nah, kita pakai ilustrasi ini dan menjadikannya sebuah class. Berikut contohnya: class Blogger {   constructor(isi) {     this.pembukaan = "Halo";     this.isi = isi;     this.penutup = "Selamat jumpa";   }   tulis() {     console.log(this.pembukaan);     console.log(this.isi);   ...