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!
Comments
Post a Comment