Table des matières
✅ Rendre un élément dragable
? Configurer une zone de chute
? ️ Gérer les événements de traînée
? Exemple de travail complet
? Notes clés
Maison interface Web tutoriel HTML Comment gérer les fonctionnalités de glisser-déposer dans le HTML natif

Comment gérer les fonctionnalités de glisser-déposer dans le HTML natif

Aug 03, 2025 pm 02:36 PM

<p>Pour implémenter la fonction HTML glisser-déposer native, vous devez définir le glisser-gangable = "true" de l'élément, puis définir les données de glisser via l'événement OnDragstart, puis utilisez l'ondragover pour bloquer le comportement par défaut dans la zone cible pour permettre le placement, et enfin gérer la réception des données dans l'événement ONDROP. Les étapes complètes sont: 1. Définissez la propriété Draggable; 2. Utilisez DataTransfer.SetData () pour définir les données de glisser dans dragstart; 3. Appelez Event.PreventDefault () dans Dragover pour permettre à Drag and Drop; 4. Obtenez des données via datatransfer.getData () dans Drop et mettez à jour le DOM. L'ensemble du processus nécessite que JavaScript coopère avec HTML, et le comportement par défaut de chaque événement est crucial, et l'interaction de glisser-déposer de base peut être réalisée.

<p>Comment gérer les fonctionnalités de glisser-déposer dans le HTML natif

<p> La gestion de glisser-déposer dans HTML native est plus simple que vous ne le pensez - vous n'avez pas besoin de bibliothèques ou de cadres JavaScript pour faire fonctionner les fonctionnalités de base. Avec seulement quelques attributs HTML et quelques écouteurs d'événements JavaScript, vous pouvez activer des interactions indépendantes de glisser-déposer.

Comment gérer les fonctionnalités de glisser-déposer dans le HTML natif<p> Voici comment implémenter le glisser-déposer en utilisant uniquement HTML natif et un peu de JavaScript (ce qui est requis pour un contrôle complet, car le HTML pur seul ne gère pas la logique).


✅ Rendre un élément dragable

<p> Pour rendre n'importe quel élément draggable, utilisez l'attribut draggable :

Comment gérer les fonctionnalités de glisser-déposer dans le HTML natif
 <div draggable = "true"> glisser-moi! </div>
<p> Par défaut, les éléments de texte comme <img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/175420296420819.jpeg" class="lazy" alt="Comment gérer les fonctionnalités de glisser-déposer dans le HTML natif" > et <a> sont dragables dans la plupart des navigateurs, mais pour d'autres éléments (comme <div> , <p> , etc.), vous devez explicitement définir draggable="true" .


? Configurer une zone de chute

<p> Tout élément peut agir comme une cible de chute. Vous devez écouter trois événements principaux:

Comment gérer les fonctionnalités de glisser-déposer dans le HTML natif
  • dragover - requis pour permettre la suppression (empêcher la valeur par défaut de permettre la chute)
  • dragenter - Facultatif, pour une rétroaction visuelle
  • drop - où vous gérez la logique de chute réelle
<p> Exemple de zone de dépôt:

 <div id = "drop-zone" ondragover = "allowdrop (event)" ondrop = "mandeledrop (event)">
  Tomber ici
</div>
<p> Et le javascript:

 fonction perteddrop (event) {
  event.PreventDefault (); // crucial: permet une goutte
}

fonction handledrop (événement) {
  event.PreventDefault ();
  const data = event.datatransfer.getData ("texte / plaine");
  event.target.innerhtml = "Dropped:" data;
}

? ️ Gérer les événements de traînée

<p> Vous devrez configurer ondragstart pour définir les données qui sont glissées:

 <div draggable = "true" 
     ondragstart = "event.datatransfer.setData (&#39;text / plain&#39;, &#39;Hello World&#39;)">
  Dragage-moi!
</div>
<p> Ou en utilisant JavaScript (nettoyant pour plusieurs éléments):

 document.getElementById ("drag-item"). addEventListener ("dragstart", fonction (e) {
  e.datatransfer.setData ("texte / plaine", "point 1");
});
<p> ? L'objet dataTransfer contient les données traînées. Utilisez setData(format, data) pour les stocker.


? Exemple de travail complet

 <! Doctype html>
<html>
<adal>
  <style>
    .Draggable {
      rembourrage: 10px;
      Contexte: # 007CBA;
      Couleur: blanc;
      marge: 10px;
      curseur: déplacer;
    }
    # drop-zone {
      Largeur: 200px;
      hauteur: 100px;
      Border: 2px en pointillé #ccc;
      rembourrage: 10px;
      marge: 20px 0;
    }
  </ style>
</ head>
<body>

  <div class = "draggable" 
       draggable = "true" 
       ondragstart = "event.datatransfer.setData (&#39;text / plain&#39;, &#39;mon contenu gliscable&#39;)">
    Traîner
  </div>

  <div id = "drop-zone" 
       ondragover = "event.preventDefault ()" 
       ondrop = "handledrop (événement)">
    Tomber ici
  </div>

  <cript>
    fonction handledrop (événement) {
      event.PreventDefault ();
      const data = event.datatransfer.getData ("texte / plaine");
      event.target.textContent = data;
    }
  </cript>

</docy>
</html>

? Notes clés

  • Appelez toujours preventDefault() dans dragover et drop - Sinon, la goutte ne fonctionnera pas.
  • Vous pouvez transférer différents types de données: "text/plain" , "text/uri-list" , ou même des formats personnalisés.
  • Pour des cas d'utilisation plus complexes (comme la glissement de fichiers ou plusieurs éléments), vous développerez dataTransfer .
  • Les appareils Touch ont un support de traînée natif limité - considérez les bibliothèques pour la compatibilité mobile.

<p> Fondamentalement, la traînée et la chute de HTML natifs ne sont pas difficiles une fois que vous connaissez le flux de l'événement:
DragStart → Dragover → Drop .
Réglez simplement draggable , gérez dragstart pour définir des données, autorisez dragover et traitez la goutte.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Rimworld Odyssey Comment pêcher
1 Il y a quelques mois By Jack chen
Puis-je avoir deux comptes Alipay?
1 Il y a quelques mois By 下次还敢

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel PHP
1506
276
Implémentation de chargement paresseux natif pour les images en HTML Implémentation de chargement paresseux natif pour les images en HTML Jul 12, 2025 am 12:48 AM

Le chargement paresseux natif est une fonction de navigateur intégrée qui permet le chargement paresseux des images en ajoutant un attribut chargé = "paresseux" à la balise. 1. Il ne nécessite pas de bibliothèques JavaScript ou tierces et est utilisée directement dans HTML; 2. Il convient aux images qui ne sont pas affichées sur le premier écran sous la page, les modules complémentaires de défilement de la galerie d'images et les grandes ressources d'image; 3. Il ne convient pas aux images avec premier écran ou affichage: aucun; 4. Lorsque vous l'utilisez, un espace réservé approprié doit être réglé pour éviter la gigue de mise en page; 5. Il devrait optimiser le chargement d'image réactif en combinaison avec les attributs SRCSET et tailles; 6. Les problèmes de compatibilité doivent être pris en compte. Certains anciens navigateurs ne le soutiennent pas. Ils peuvent être utilisés grâce à la détection des fonctionnalités et combinés avec des solutions JavaScript.

Implémentation d'images réactives avec les attributs HTML SRCSET et tailles Implémentation d'images réactives avec les attributs HTML SRCSET et tailles Jul 12, 2025 am 12:15 AM

SRCSET et les tailles sont des propriétés clés pour l'implémentation HTML des images réactives. SRCSET fournit plusieurs sources d'image et leur densité de largeur ou de pixel, telles que 400W et 800W, et le navigateur sélectionne l'image appropriée en conséquence; Les tailles définissent la largeur d'affichage de l'image sous différentes largeurs d'écran, telles que (max-largeur: 600px) 100VW, 50VW, afin que le navigateur puisse correspondre plus précisément à la taille de l'image. Dans une utilisation réelle, vous devez préparer des images multi-taille, clairement nommées, concevoir la disposition conformément à la requête multimédia, et tester les performances de l'équipement pour éviter d'ignorer les tailles ou les erreurs unitaires, enregistrant ainsi la bande passante et améliorant les performances.

Quelles sont les différences et les cas d'utilisation pour HTML TextArea et le texte de type d'entrée? Quelles sont les différences et les cas d'utilisation pour HTML TextArea et le texte de type d'entrée? Jul 12, 2025 am 02:48 AM

La principale différence est que TextArea prend en charge plusieurs lignes d'entrée de texte, tandis que InputText n'est disponible qu'en une seule ligne. 1. Utilisez InputType = "Text" pour être adapté à la saisie utilisateur courte et unique, telle que le nom d'utilisateur, l'adresse e-mail, etc., et peut définir MaxLength pour limiter le nombre de caractères. Le navigateur offre une fonction de remplissage automatique, ce qui facilite le style uniformément entre les navigateurs; 2. Utilisez TextArea pour les scénarios qui nécessitent plusieurs lignes d'entrée, telles que les boîtes de commentaires, les formulaires de rétroaction, les pauses et les paragraphes de ligne de support, et peuvent contrôler la taille via CSS ou désactiver la fonction de réglage. Les deux fonctionnalités du formulaire de support telles que les espaces réservées et les remplissages requis, mais TextArea définit la taille à travers les lignes et les cols, et l'entrée utilise l'attribut de taille.

Le `` vs `` en html Le `` vs `` en html Jul 19, 2025 am 12:41 AM

Il s'agit d'un élément au niveau du bloc, utilisé pour diviser de grandes zones de contenu de bloc; Il s'agit d'un élément en ligne, adapté à l'emballage de petits segments de fragments de texte ou de contenu. Les différences spécifiques sont les suivantes: 1. Occuper exclusivement une ligne, une largeur et une hauteur, des marges intérieures et extérieures peuvent être définies, qui sont souvent utilisées dans des structures de mise en page telles que les en-têtes, les barres latérales, etc.; 2. N'enveloppez pas les lignes, n'occupez que la largeur du contenu et sont utilisés pour le contrôle du style local tel que la décoloration, le gras, etc.; 3. En termes de scénarios d'utilisation, il convient à l'organisation de mise en page et de structure de la zone globale, et est utilisé pour les ajustements de style à petite échelle qui n'affectent pas la disposition globale; 4. Lors de la nidification, il peut contenir des éléments et les éléments au niveau du bloc ne doivent pas être imbriqués à l'intérieur.

Comment créer une fenêtre contextuelle simple ou modale avec HTML, CSS et JS? Comment créer une fenêtre contextuelle simple ou modale avec HTML, CSS et JS? Jul 12, 2025 am 02:42 AM

Pour obtenir un effet pop-up de base, vous devez suivre les étapes suivantes: 1. Structure: Utilisez HTML pour créer des boutons de déclenchement, une couche de masque et une zone de contenu contextuelle; 2. Style: Définissez la mise en page cachée par défaut, la mise en page centrée, l'arrière-plan du masque et les styles de bouton de fermeture via CSS; 3. Interaction: Utilisez JavaScript pour lier les événements de clic pour contrôler l'affichage et la masque de fenêtre contextuels et peuvent étendre la fonction de clôture de la clé ESC; 4. Optimisation: ajoutez l'animation CSS pour améliorer l'expérience utilisateur. L'ensemble du processus ne nécessite pas de bibliothèque tierce, ce qui convient pour réaliser rapidement des fonctions contextuelles de base.

Tags HTML essentiels pour les débutants Tags HTML essentiels pour les débutants Jul 27, 2025 am 03:45 AM

Pour commencer rapidement avec HTML, il vous suffit de maîtriser quelques balises de base pour créer un squelette Web. 1. La structure de la page est essentielle et, qui est l'élément racine, contient des méta-informations et est la zone d'affichage du contenu. 2. Utilisez le titre. Plus le niveau est élevé, plus le nombre est petit. Utilisez des balises pour segmenter le texte pour éviter de sauter le niveau. 3. Le lien utilise des balises et correspond aux attributs HREF, et l'image utilise des balises et contient des attributs SRC et Alt. 4. La liste est divisée en listes non ordonnées et listes commandées. Chaque entrée est représentée et doit être imbriquée dans la liste. 5. Les débutants n'ont pas à forcer la mémorisation de toutes les balises. Il est plus efficace de les écrire et de les vérifier pendant que vous écrivez. Maître la structure, le texte, les liens, les images et les listes pour créer des pages Web de base.

Que sont les travailleurs du Web et comment sont-ils liés à HTML? Que sont les travailleurs du Web et comment sont-ils liés à HTML? Jul 12, 2025 am 03:03 AM

Les travailleurs Web sont des threads indépendants en cours d'exécution dans l'arrière-plan du navigateur, utilisés pour effectuer des tâches longues sans bloquer l'interface utilisateur. Ils sont implémentés via des fichiers JavaScript et sont lancés par des scripts dans des pages HTML, mais une fois exécutés, ils sont séparés du thread principal. 1. Les travailleurs Web ne peuvent pas accéder directement au DOM pour garantir la stabilité de la page; 2. Ils réalisent une communication sécurisée avec le fil principal via PostMessage () et OnMessage; 3. Il convient au traitement des tâches à forte intensité de processeur telles que les images, l'informatique complexe, l'analyse des données; 4. Il prend en charge certaines API telles que Settimeout, Fetch et IndededDB; 5. Lorsque vous l'utilisez, vous devez faire attention aux difficultés de débogage, à l'utilisation de la mémoire, aux restrictions inter-domaines et à d'autres problèmes.

Concepts Shadow Dom et intégration HTML Concepts Shadow Dom et intégration HTML Jul 24, 2025 am 01:39 AM

Shadowdom est une technologie utilisée dans la technologie des composants Web pour créer des sous-arbres DOM isolés. 1. Il permet la monture d'une structure DOM indépendante sur les éléments HTML ordinaires, avec ses propres styles et comportements, et n'affecte pas le document principal; 2. Créé via JavaScript, comme l'utilisation de la méthode attachshadow et la définition du mode à ouvrir; 3. Lorsqu'il est utilisé en combinaison avec HTML, il a trois caractéristiques principales: la structure claire, l'isolement de style et la projection de contenu (fente); 4. Les notes incluent le débogage complexe, le contrôle de la portée du style, les frais généraux de performances et les problèmes de compatibilité du cadre. En bref, Shadowdom fournit des capacités d'encapsulation natives pour construire des composants d'interface utilisateur réutilisables et non polluants.

See all articles