


Bagaimanakah anda boleh menggunakan API Drag dan Drop untuk membolehkan fungsi drag-and-drop?
Mar 26, 2025 pm 09:04 PMArtikel ini membincangkan menggunakan API Drag dan Drop dalam HTML5 untuk aplikasi web, yang memperincikan cara membuat elemen draggable, mengendalikan seretan dan drop acara, dan menguruskan jenis data yang berbeza semasa operasi.
Bagaimanakah anda boleh menggunakan API Drag dan Drop untuk membolehkan fungsi drag-and-drop?
API Drag dan Drop dalam HTML5 menyediakan cara yang mudah untuk melaksanakan fungsi drag-and-drop dalam aplikasi web. Untuk membolehkan ciri ini, anda perlu mengikuti langkah -langkah ini:
- Buat elemen draggable : Tetapkan atribut
draggable
kepadatrue
pada elemen yang anda mahu buat draggable. Sebagai contoh,<div draggable="true">Drag me!</div>
. -
Tentukan acara seret pada elemen draggable : Anda perlu mengendalikan beberapa peristiwa pada elemen draggable:
-
dragstart
: Acara ini dipecat apabila pengguna mula menyeret elemen. Anda boleh menggunakannya untuk menetapkan data yang akan dipindahkan semasa operasi seretan menggunakanevent.dataTransfer.setData()
. Contohnya:<code class="javascript">element.addEventListener('dragstart', (e) => { e.dataTransfer.setData('text/plain', element.id); });</code>
-
drag
: Acara ini dipecat secara berterusan apabila pengguna menyeret elemen. Ia boleh digunakan untuk maklum balas visual, seperti mengubah rupa elemen yang diseret. -
dragend
: Acara ini dipecat apabila pengguna melepaskan elemen yang diseret. Ia boleh digunakan untuk membersihkan sebarang perubahan visual yang dibuat semasa operasi seretan.
-
-
Tentukan peristiwa drop pada sasaran drop : Anda juga perlu mengendalikan peristiwa pada elemen di mana anda ingin menjatuhkan item yang diseret:
-
dragenter
: Acara ini dipecat apabila elemen yang diseret memasuki sasaran drop. Anda boleh menggunakannya untuk memberikan maklum balas visual, seperti menonjolkan sasaran drop. -
dragover
: Acara ini dipecat secara berterusan kerana elemen yang diseret adalah lebih dari sasaran drop. Secara lalai, penyemak imbas menghalang penurunan, jadi anda perlu menghalang tindakan lalai untuk membenarkan penurunan:<code class="javascript">dropTarget.addEventListener('dragover', (e) => { e.preventDefault(); });</code>
-
dragleave
: Acara ini dipecat apabila elemen yang diseret meninggalkan sasaran drop. Anda boleh menggunakannya untuk mengembalikan sebarang perubahan visual yang dibuat apabila elemen yang diseret memasuki sasaran drop. -
drop
: Acara ini dipecat apabila pengguna menjatuhkan elemen yang diseret pada sasaran drop. Anda boleh menggunakannya untuk mengendalikan tindakan drop, seperti menggerakkan elemen yang diseret ke sasaran drop atau memproses data yang dipindahkan:<code class="javascript">dropTarget.addEventListener('drop', (e) => { e.preventDefault(); const data = e.dataTransfer.getData('text/plain'); // Handle the dropped data });</code>
-
Dengan mengikuti langkah-langkah ini dan mengendalikan peristiwa yang sesuai, anda boleh melaksanakan fungsi drag-and-drop menggunakan API Drag dan Drop.
Apakah peristiwa utama yang terlibat dalam melaksanakan drag-and-drop dengan API Drag dan Drop?
Peristiwa utama yang terlibat dalam melaksanakan fungsi drag-and-drop dengan API Drag dan Drop adalah:
- Dragstart : Dipecat apabila pengguna mula menyeret elemen. Acara ini digunakan untuk menetapkan data yang akan dipindahkan semasa operasi seretan.
- Seret : Dipecat secara berterusan apabila pengguna menyeret elemen. Acara ini boleh digunakan untuk memberikan maklum balas visual semasa operasi seretan.
- Dragend : Dipecat apabila pengguna melepaskan elemen yang diseret. Acara ini boleh digunakan untuk membersihkan sebarang perubahan visual yang dibuat semasa operasi seretan.
- Dragenter : Dipecat apabila elemen yang diseret memasuki sasaran drop yang sah. Acara ini boleh digunakan untuk memberikan maklum balas visual, seperti menonjolkan sasaran drop.
- Dragover : Dipecat secara berterusan kerana elemen yang diseret adalah sasaran drop yang sah. Secara lalai, penyemak imbas menghalang penurunan, jadi anda perlu menghalang tindakan lalai untuk membenarkan penurunan.
- Dragleave : Dipecat apabila elemen yang diseret meninggalkan sasaran drop yang sah. Acara ini boleh digunakan untuk mengembalikan sebarang perubahan visual yang dibuat apabila elemen yang diseret memasuki sasaran drop.
- Drop : Dipecat apabila pengguna menjatuhkan elemen yang diseret pada sasaran drop yang sah. Acara ini digunakan untuk mengendalikan tindakan drop, seperti menggerakkan elemen yang diseret ke sasaran drop atau memproses data yang dipindahkan.
Peristiwa-peristiwa ini adalah penting untuk melaksanakan fungsi drag-and-drop lengkap menggunakan API Drag dan Drop.
Bolehkah API Drag dan Drop digunakan untuk memindahkan data antara aplikasi atau tingkap yang berbeza?
API seret dan drop direka terutamanya untuk memindahkan data dalam satu aplikasi web tunggal. Walau bagaimanapun, ia boleh digunakan untuk memindahkan data antara aplikasi atau tingkap yang berbeza dalam keadaan tertentu:
- Dalam penyemak imbas yang sama : Anda boleh menggunakan API seret dan drop untuk memindahkan data antara tab atau tingkap yang berbeza dari penyemak imbas yang sama. Data dipindahkan menggunakan objek
dataTransfer
, dan aplikasi penerima boleh mengakses data menggunakan kaedahgetData
. - Antara aplikasi yang berbeza : API Drag dan Drop boleh digunakan untuk memindahkan data antara aplikasi yang berbeza jika aplikasi penerimaan menyokong format data yang sama. Sebagai contoh, anda boleh menyeret teks dari laman web ke aplikasi editor teks. Walau bagaimanapun, aplikasi penerimaan mesti dapat mengendalikan format data yang dinyatakan dalam kaedah
setData
. - Sekatan silang asal : Apabila memindahkan data antara asal-usul yang berbeza (domain), anda perlu menyedari sekatan silang asal. API seret dan drop mengikuti dasar asal yang sama, yang bermaksud bahawa data hanya boleh dipindahkan di antara halaman dengan asal yang sama melainkan halaman penerima secara eksplisit membolehkannya menggunakan pengepala
Access-Control-Allow-Origin
.
Ringkasnya, sementara API Drag dan Drop direka khas untuk digunakan dalam satu aplikasi web, ia boleh digunakan untuk memindahkan data antara aplikasi atau tingkap yang berbeza di bawah syarat-syarat tertentu, seperti apabila aplikasi penerima menyokong format data yang sama dan sekatan silang asal ditangani dengan sewajarnya.
Bagaimanakah anda mengendalikan pelbagai jenis data apabila menggunakan API Drag dan Drop untuk operasi drag-and-drop?
Mengendalikan pelbagai jenis data dengan API seret dan drop melibatkan menggunakan objek dataTransfer
untuk menetapkan dan mengambil data dalam pelbagai format. Berikut adalah cara anda dapat mengendalikan pelbagai jenis data:
-
Menetapkan data : Apabila memulakan operasi seret, anda boleh menetapkan pelbagai jenis data menggunakan kaedah
setData
objekdataTransfer
. Contohnya:<code class="javascript">element.addEventListener('dragstart', (e) => { e.dataTransfer.setData('text/plain', 'Hello, World!'); e.dataTransfer.setData('text/html', '<p>Hello, World!</p>'); e.dataTransfer.setData('application/json', JSON.stringify({ message: 'Hello, World!' })); });</code>
Dalam contoh ini, kami menetapkan tiga jenis data: Teks Plain, HTML, dan JSON.
-
Mengambil data : Apabila mengendalikan acara drop, anda boleh mengambil data dalam format yang dikehendaki menggunakan kaedah
getData
objekdataTransfer
. Contohnya:<code class="javascript">dropTarget.addEventListener('drop', (e) => { e.preventDefault(); const plainText = e.dataTransfer.getData('text/plain'); const html = e.dataTransfer.getData('text/html'); const json = e.dataTransfer.getData('application/json'); // Handle the retrieved data });</code>
Dalam contoh ini, kami mengambil data dalam tiga format yang berbeza: Teks Plain, HTML, dan JSON.
-
Mengendalikan pelbagai jenis data : Anda boleh menyemak ketersediaan jenis data yang berbeza menggunakan sifat
types
objekdataTransfer
. Contohnya:<code class="javascript">dropTarget.addEventListener('drop', (e) => { e.preventDefault(); const types = e.dataTransfer.types; if (types.includes('text/plain')) { const plainText = e.dataTransfer.getData('text/plain'); // Handle plain text data } if (types.includes('text/html')) { const html = e.dataTransfer.getData('text/html'); // Handle HTML data } if (types.includes('application/json')) { const json = e.dataTransfer.getData('application/json'); // Handle JSON data } });</code>
Dalam contoh ini, kami menyemak ketersediaan jenis data yang berbeza dan mengendalikan setiap jenis dengan sewajarnya.
Dengan menggunakan objek dataTransfer
dan kaedahnya, anda boleh mengendalikan pelbagai jenis data semasa operasi drag-and-drop dengan API Drag dan Drop.
Atas ialah kandungan terperinci Bagaimanakah anda boleh menggunakan API Drag dan Drop untuk membolehkan fungsi drag-and-drop?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas









Untuk mengurangkan saiz fail HTML, anda perlu membersihkan kod berlebihan, memampatkan kandungan, dan mengoptimumkan struktur. 1. Padam tag yang tidak digunakan, komen dan kosong tambahan untuk mengurangkan jumlah; 2. Pindahkan CSS dan JavaScript dalam fail luaran dan menggabungkan pelbagai skrip atau blok gaya; 3. Memudahkan sintaks label tanpa menjejaskan parsing, seperti menghilangkan tag tertutup pilihan atau menggunakan atribut pendek; 4. Selepas pembersihan, aktifkan teknologi pemampatan sisi pelayan seperti GZIP atau Brotli untuk mengurangkan jumlah penghantaran. Langkah -langkah ini dapat meningkatkan prestasi pemuatan halaman tanpa mengorbankan fungsi.

HtmlHasevolvElvEltanthantlantlantlantlylantelscreationTomeetTheGrowingDemandsofwebdeveloPerersandUsers

Ia adalah tag semantik yang digunakan dalam HTML5 untuk menentukan bahagian bawah halaman atau blok kandungan, biasanya termasuk maklumat hak cipta, maklumat hubungan atau pautan navigasi; Ia boleh diletakkan di bahagian bawah halaman atau bersarang, dan sebagainya. Tag sebagai akhir blok; Apabila menggunakannya, anda harus memberi perhatian untuk mengelakkan penyalahgunaan berulang dan kandungan yang tidak relevan.

ThetabindexattributecontrolshowelementsReceiveFocusViathetabkey, withthreemainvalues: tabindex = "0" addsanelementTothenaturalalTaborder, Tabindex = "-1" membolehkan programmaticfocusonly)

Untuk membuat kawasan teks HTML, gunakan elemen, dan sesuaikannya melalui atribut dan CSS. 1. Gunakan sintaks asas untuk menentukan kawasan teks dan tetapkan sifat seperti baris, col, nama, pemegang tempat, dan lain -lain; 2. Anda boleh mengawal saiz dan gaya dengan tepat melalui CSS, seperti lebar, ketinggian, padding, sempadan, dan lain -lain; 3. Apabila menyerahkan borang, anda boleh mengenal pasti data melalui atribut nama, dan anda juga boleh mendapatkan nilai untuk pemprosesan front-end.

Adeclarationisaformalstatementthatsomethinghinghinghingshingshingshinghinghinghingshingshingshingshinghinghinghingse, offiger, orrequired, usedtoclearlydefineorannounceanintent, fakta, orrule.itplaysakeyroleinprogrammingbydefiningvariablesandfunctions, inlegalcontextsbyreportinginderourd

Cara standard untuk menambah tajuk ke imej dalam HTML adalah menggunakan dan elemen. 1. Penggunaan asas adalah untuk membungkus imej dalam tag dan menambah tajuk di dalamnya, contohnya: ini adalah tajuk imej; 2. Sebab -sebab untuk menggunakan kedua -dua tag ini termasuk semantik yang jelas, kawalan gaya yang mudah, dan kebolehcapaian yang kuat, yang membantu penyemak imbas, crawler dan pembaca skrin untuk memahami struktur kandungan; 3. Nota termasuk bahawa ia boleh diletakkan ke atas dan ke bawah tetapi perlu mengekalkan perintah logik, tidak dapat menggantikan atribut alt, dan boleh mengandungi pelbagai elemen media untuk membentuk keseluruhan unit.

Penggunaan rasional tag semantik dalam HTML dapat meningkatkan kejelasan struktur halaman, aksesibilitas dan kesan SEO. 1. Digunakan untuk blok kandungan bebas, seperti jawatan blog atau komen, ia mesti mandiri; 2. Digunakan untuk kandungan berkaitan klasifikasi, biasanya termasuk tajuk, dan sesuai untuk modul yang berlainan halaman; 3. Digunakan untuk maklumat tambahan yang berkaitan dengan kandungan utama tetapi tidak teras, seperti cadangan sidebar atau profil pengarang. Dalam perkembangan sebenar, label harus digabungkan dan lain -lain, elakkan bersarang yang berlebihan, pastikan struktur mudah, dan sahkan rasionalitas struktur melalui alat pemaju.
