Seret dan Lepaskan?dalam HTML
Sep 04, 2024 pm 04:38 PMArtikel berikut menyediakan garis besar untuk Seret dan Lepas dalam HTML. Drag and Drop ialah ciri terkini yang terkenal kerana menyediakan input secara manual dalam halaman web kerana corak fungsinya yang mudah. Kaedah seret dan lepas boleh diterangkan sebagai proses apabila pengguna memilih data/ pilihan tertentu daripada senarai item dalam medan sumber, seret perkara yang sama dan lepaskannya dalam medan destinasi. Ia dilaksanakan menggunakan Model Objek Dokumen, bersama-sama dengan berbilang acara tetikus dari halaman web HTML. Pelbagai acara yang digunakan dalam ciri ini ialah seret, dragstart, dragleave, dragenter, dragover, drop, dragend dan drag exit.
Acara untuk Seret dan Lepas
Terdapat berbilang acara yang disertakan dalam fungsi seret dan lepas (dnd) terkini; mari kita lihat satu persatu seperti berikut:
Sr. No | Events | Details Description |
1 | Drag | To drag entity(element or text) when the mouse is moved with the element to be dragged. |
2 | Dragstart | The very first step in drag and drop is dragstart. It gets executed when the user is going to start with dragging the object to the required location. |
3 | Dragenter | Dragenter event is used when the mouse is getting hover on the target element. |
4 | Dragleave | This event is used when the user releases a mouse from an element. |
5 | Dragover | This event occurs when a mouse is used to over an element. |
6 | Drop | This event is used at the end of the drag and drop process for drop element operation. |
7 | Dragend | This is one of the most important event in this process for releasing the mouse button from the element to complete the drag procedure. |
8 | Dragexit | This event status that the element is no longer in the drag process of urgent target selection of element. |
Voyons quelques attributs de données sur lesquels l'opération de glisser-déposer va se produire?:
- dataTransfer.dropEffect [ = value ]?: Cet attribut est utilisé pour montrer quelle opération est actuellement en cours. On peut le configurer pour remplacer l'opération déjà sélectionnée. Les valeurs qui y sont incluses comme une copie, un lien, aucun ou un déplacement.
- dataTransfer.effectAllowed [ = value ]?: Les opérations autorisées seront renvoyées via cet attribut. Il est également possible de paramétrer la modification d'une opération déjà sélectionnée.
- dataTransfer.files?: Cet attribut de données est utilisé pour obtenir la liste des fichiers qui vont être glissés.
- dataTransfer.addElement(element)?: Il est utilisé pour insérer l'élément déjà existant dans une liste d'autres éléments utiles pour restituer les commentaires de glisser.
- dataTransfer.setDragImage(element, x, y)?: Cet attribut est un peu le même que ci-dessus pour mettre à jour les commentaires de glisser et aider à modifier les commentaires déjà existants
- dataTransfer.clearData ( [ format ] ) : Il aide l'utilisateur à supprimer les données du format déjà défini. Si l'utilisateur omettait l'argument, le service informatique supprimerait toutes les données.
- dataTransfer.setData(format, data) : C'est l'un des attributs populaires utilisés pour ajouter des données spécifiées.
- data = dataTransfer.getData(format): Cet attribut dans l'opération Drag and Drag est utilisé pour extraire les données spécifiées. S'il n'y a pas les mêmes données, elle reviendra à la cha?ne vide.
Syntaxe du?glisser-déposer?en HTML
Voici quelques étapes définissant la syntaxe du glisser-déposer?:
Sélectionnez l'objet à glisser?: Définissez l'attribut sur celui-ci.
<element draggable="true">
Commencez à faire glisser l'objet?:
function dragStart(ev){}
Déposez l'objet?:
function dragDrop(ev){}
Exemples de glisser-déposer?en HTML
L'exemple suivant montrera comment exactement l'opération glisser-déposer se déroulera en HTML.
Exemple n°1
Code?:
<html> <head> <title>Drag and Drop Demo</title> <script> function allowDrop(ev) { ev.preventDefault(); } function dragStart(ev) { ev.dataTransfer.setData("text", ev.target.id); } function dragDrop(ev) { ev.preventDefault(); var data = ev.dataTransfer.getData("text"); ev.target.appendChild(document.getElementById(data)); } </script> <style> #box { margin: auto; width: 30%; width: 21%; height:150px; border: 2px solid blue; padding: 2px; } #square1, #square2, #square3 { float: left; margin: 5px; padding: 10px; } #square1 { width: 30px; height: 30px; background-color: #BEA7CC; } #square2 { width: 60px; height: 60px; background-color: #B5D5F5; } #square3 { width: 90px; height: 90px; background-color:#F5B5C5 ; } h2 { font-size:20px; font-weight:bold; text-align:center; } </style> </head> <body> <h2>HTML DRAG AND DROP DEMO</h2> <div id = "box"> <div id="square1" draggable="true"ondragstart="dragStart(event)"></div> <div id="square2" draggable="true"ondragstart="dragStart(event)"></div> <div id="square3" ondrop="dragDrop(event)" ondragover="allowDrop(event)"></div> </div> </body> </html>
Sortie?:
Avant le glisser-déposer, le résultat de l'option sera comme indiqué ci-dessous?:
Après avoir effectué l'opération Glisser-Déposer, le résultat sera le suivant?:
Exemple n°2
Ici, nous allons voir un autre exemple dans lequel nous déplacerons l'image d'un emplacement vers un autre emplacement spécifié, comme indiqué ci-dessous le code.
Code?:
<!DOCTYPE HTML> <html> <head> <script> function allowDrop(ev) { ev.preventDefault(); } function dragStart(ev) { ev.dataTransfer.setData("text", ev.target.id); } function dragDrop(ev) { ev.preventDefault(); var data = ev.dataTransfer.getData("text"); ev.target.appendChild(document.getElementById(data)); } </script> <style> .divfirst { width: 250px; height: 150px; padding: 10px; border: 1px solid black; background-color: #F5F5F5; } p { font-size:20px; font-weight:bold; } </style> </head> <body> <p>Image Drag and Drop Demo</p> <div class="divfirst" ondrop="dragDrop(event)" ondragover="allowDrop(event)"> <img id="drag1" src="Jerry.jpeg" draggable="true" ondragstart="dragStart(event)" width="250" height="150"></div> <br> <div ??? class= "divfirst"ondrop="dragDrop(event)" ondragover="allowDrop(event)"></div> </body> </html>
Sortie?:
Avant l'opération glisser-déposer, le résultat est?:
Une fois l'opération glisser-déposer terminée, cela ressemblera à ceci?:
Exemple #3
Dans cet exemple, nous allons voir comment glisser-déposer un fichier à l'emplacement spécifié?:
Code?:
<body> <div id="filedemo" style="min-height: 150px; border: 1px solid black;" ondragenter="document.getElementById('output').textContent = ''; event.stopPropagation(); event.preventDefault();" ondragover="event.stopPropagation(); event.preventDefault();" ondrop="event.stopPropagation(); event.preventDefault(); dodrop(event);"> DROP FILES HERE... </div> <script> function dodrop(event) { var dt = event.dataTransfer; var files = dt.files; for (var i = 0; i < files.length; i++) { output(" File " + i + ":\n(" + (typeof files[i]) + ") : <" + files[i] + " > " + files[i].name + " " ); } } function output(text) { document.getElementById("filedemo").textContent += text; } </script> </body>
Sortie?:
Conclusion
Le glisser-déposer HTML est l'une des entités d'interface utilisateur les plus importantes qui sera utilisée à différentes fins comme la copie, la suppression ou l'enregistrement. Cela fonctionne sur différents événements et attributs, comme indiqué ci-dessus. Il effectue l'opération lorsque vous choisissez un objet, puis le déposez à un emplacement spécifié.
Atas ialah kandungan terperinci Seret dan Lepaskan?dalam HTML. 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

Struktur laman web perlu disokong oleh elemen HTML teras. 1. Struktur keseluruhan halaman terdiri daripada, yang merupakan unsur akar, yang menyimpan maklumat meta dan memaparkan kandungan; 2. Organisasi kandungan bergantung pada tajuk (-), perenggan () dan tag blok (seperti,) untuk meningkatkan struktur organisasi dan SEO; 3. Navigasi dilaksanakan melalui dan dilaksanakan, organisasi yang biasa digunakan dihubungkan dan ditambah dengan atribut aria-semasa untuk meningkatkan kebolehcapaian; 4. Borang Interaksi melibatkan, dan, untuk memastikan fungsi input dan penyerahan pengguna lengkap. Penggunaan unsur -unsur ini dapat meningkatkan kejelasan halaman, penyelenggaraan dan pengoptimuman enjin carian.

Apabila menggunakan HTML5SSE, kaedah untuk menangani penyambungan semula dan kesilapan termasuk: 1. Memahami mekanisme penyambungan semula lalai. Eventsource Retrys 3 saat selepas sambungan terganggu secara lalai. Anda boleh menyesuaikan selang melalui medan semula; 2. Dengar peristiwa ralat untuk menangani kegagalan sambungan atau kesilapan parsing, membezakan jenis ralat dan melaksanakan logik yang sepadan, seperti masalah rangkaian yang bergantung pada penyambungan semula automatik, kesilapan pelayan secara manual melambatkan penyambungan semula, dan kegagalan pengesahan menyegarkan token; 3. Secara aktif mengawal logik penyambungan semula, seperti penutupan secara manual dan membina semula sambungan, menetapkan bilangan maksimum masa semula, menggabungkan navigator.online untuk menilai status rangkaian untuk mengoptimumkan strategi semula. Langkah -langkah ini dapat meningkatkan kestabilan aplikasi dan pengalaman pengguna.

Doctype adalah pernyataan yang memberitahu penyemak imbas yang standard HTML digunakan untuk menghuraikan halaman. Halaman web moden hanya perlu ditulis pada permulaan fail HTML. Fungsinya adalah untuk memastikan bahawa penyemak imbas menjadikan halaman dalam mod standard dan bukannya mod pelik, dan mesti terletak pada baris pertama, tanpa ruang atau komen di hadapannya; Hanya ada satu cara yang betul untuk menulisnya, dan tidak disyorkan untuk menggunakan versi lama atau varian lain; Lain -lain seperti charset, viewport, dan lain -lain harus diletakkan sebahagiannya.

Klien-sideformvalidationcanbedonewithoutjavascriptbyusinghtmlattributes.1) userequiredtoenforcemandatory.2) valateateMailsandurlSwithtypeattributeseMailorurl, orusepatternwithregexforcustmin.3)

Gunakan tag dalam HTML untuk pilihan kumpulan dalam menu drop-down. Kaedah khusus adalah untuk membungkus sekumpulan elemen dan menentukan nama kumpulan melalui atribut label, seperti: 1 mengandungi pilihan seperti epal, pisang, oren, dan lain -lain; 2. Mengandungi pilihan seperti wortel, brokoli, dan sebagainya; 3. Nota termasuk: ① Tiada sarang disokong; ② Seluruh kumpulan boleh dilumpuhkan melalui atribut yang kurang upaya; ③ Gaya ini terhad dan perlu dihidupkan dalam kombinasi dengan CSS atau perpustakaan pihak ketiga; Plug-in seperti SELECT2 boleh digunakan untuk meningkatkan fungsi.

HTML5, CSS dan JavaScript harus digabungkan dengan tag semantik, pesanan pemuatan yang munasabah dan reka bentuk decoupling. 1. Gunakan tag semantik HTML5, seperti meningkatkan kejelasan struktur dan penyelenggaraan, yang kondusif untuk SEO dan akses bebas penghalang; 2. CSS harus diletakkan, gunakan fail luaran dan berpecah oleh modul untuk mengelakkan gaya sebaris dan masalah pemuatan yang tertunda; 3. JavaScript disyorkan untuk diperkenalkan di hadapan, dan gunakan penangguhan atau async untuk memuat secara asynchronously untuk mengelakkan menyekat rendering; 4. Mengurangkan pergantungan yang kuat antara ketiga-tiga, tingkah laku memandu melalui atribut data dan status kawalan nama kelas, dan meningkatkan kecekapan kerjasama melalui spesifikasi penamaan bersatu. Kaedah ini dapat mengoptimumkan prestasi halaman dengan berkesan dan bekerjasama dengan pasukan.

Untuk menggunakan elemen butang HTML untuk mencapai butang yang boleh diklik, anda mesti menguasai penggunaan asas dan langkah berjaga -jaga yang sama. 1. Buat butang dengan tag dan tentukan tingkah laku melalui atribut jenis (seperti butang, hantar, tetapkan semula), yang dikemukakan secara lalai; 2. Tambahkan fungsi interaktif melalui JavaScript, yang boleh ditulis dalam talian atau mengikat pendengar acara melalui ID untuk meningkatkan penyelenggaraan; 3. Gunakan CSS untuk menyesuaikan gaya, termasuk warna latar belakang, sempadan, sudut bulat dan kesan status hover/aktif untuk meningkatkan pengalaman pengguna; 4. Perhatikan masalah biasa: Pastikan atribut kurang upaya tidak didayakan, peristiwa JS terikat dengan betul, oklusi susun atur, dan gunakan bantuan alat pemaju untuk menyelesaikan masalah. Menguasai ini

Lebih mudah untuk menghantar data borang menggunakan API FormData HTML5. 1. Ia secara automatik boleh mengumpul medan borang dengan atribut nama atau menambah data secara manual; 2. Ia menyokong penyerahan dalam format multipart/form-data melalui FETCH atau XMLHTTPREQUEST, yang sesuai untuk muat naik fail; 3. Apabila memproses fail, anda hanya perlu memasukkan fail ke FormData dan menghantar permintaan; 4. Perhatikan bahawa medan nama yang sama akan ditimpa, dan penukaran JSON dan tiada struktur bersarang perlu dikendalikan.
