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

Form Input | HTML

Halo guys! Hari ini saya sebagai pemateri mengajari tentang elemen input yang bisa digunakan dalam elemen form. Langsung saja kita membahas materinya. Jadi elemen input itu memiliki beberapa jenis berdasarkan typenya. Jenisnya itu ada banyak, namun saya akan membahas yang text, radio, checkbox, submit, dan button saja. Elemen input yang typenya text digunakan untuk mengisi data dalam bentuk teks. Jenis ini hanya ada satu baris untuk mengisi data, namun bisa overflow untuk mengakomodasi text yang panjang. Input yang typenya radio hanya membolehkan user untuk memilih satu jawaban dari beberapa opsi pilihan. Jadi, jenis ini sama dengan pilihan ganda. Seterusnya, elemen input yang typenya checkbox membolehkan user memilih lebih dari satu opsi dari beberapa opsi pilihan. Jenis ini sama dengan pilihan ganda kompleks. Selanjutnya input yang typenya submit biasa digunakan untuk mengirimkan data yang telah diisi ke server. Jenis ini seringkali ditemui dalam elemen form. Terakhir yang typenya bu...

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...

SVG | HTML

Halo! IT Corner hari ini saya mempelajari tentang SVG dalam HTML. Apa itu SVG? Nah, SVG itu sebuah grafik yang scalable, artinya jika diperbesar atau diubah ukurannya tidak akan hilang kualitas gambarnya. SVG dibuat dengan menggunakan elemen <svg>. Elemen ini digunakan sebagai wadah untuk grafik-grafiknya. Setelah itu, diberi ukuran, misalnya 500px × 500px. Untuk grafiknya sendiri ada beberapa jenis sebagai berikut. Grafik yang pertama adalah lingkaran yang dibuat dengan elemen <circle>. Untuk atributnya ada cx , cy , r , fill , stroke , dan  stroke-width . Atribut cx dan cy adalah posisi koordinatnya. Atribut r adalah radiusnya. Atribut fill adalah warna dalamnya. Atribut stroke adalah warna bordernya, dan stroke-width adalah ketebalan bordernya. Grafik kedua adalah persegi panjang yang dibuat dengan elemen <rect>. Untuk atributnya ada  x ,  y ,  width , height ,  fill ,  stroke , dan  stroke-width . Atribut  x  dan...