Drag and drop

Le glisser-déposer, aussi appelé drag and drop est une technique simple et intuitive pour déplacer des éléments sur un ordinateur ou un appareil tactile.

Utilisation du drag & drop

  • Vous cliquez et maintenez le bouton gauche de la souris sur un élément, un widget ou un document.
  • Tout en maintenant le bouton enfoncé, vous déplacez le curseur vers la page ou le dossier.
  • Lorsque le curseur se trouve au-dessus du dossier, vous relâchez le bouton de la souris.

Exemple simple en code avec JavaScript

<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <title>Drag and Drop simple</title>
</head>
<body>
    <div id="draggable">Elément à déplacer</div>
    <div id="dropzone">Zone de dépôt</div>
    <script src="script.js"></script>
</body>
</html>
const draggable = document.getElementById('draggable');
const dropzone = document.getElementById('dropzone');

// Fonction appelée lorsque l'utilisateur commence à faire glisser l'élément
draggable.addEventListener('dragstart', (event) => {
    // Définit le type de données à transférer
    event.dataTransfer.setData('text/plain', 'draggable');
});

// Fonction appelée lorsque l'utilisateur survole la zone de dépôt
dropzone.addEventListener('dragover', (event) => {
    // Empêche le navigateur d'effectuer une action par défaut (comme ouvrir un lien)
    event.preventDefault();
});

// Fonction appelée lorsque l'utilisateur dépose l'élément dans la zone de dépôt
dropzone.addEventListener('drop', (event) => {
    // Empêche le navigateur d'effectuer une action par défaut (comme ouvrir un lien)
    event.preventDefault();

    // Récupère l'ID de l'élément à déplacer
    const id = event.dataTransfer.getData('text/plain');

    // Déplace l'élément vers la zone de dépôt
    document.getElementById(id).appendChild(draggable);
});

synonyme : drag & drop, glisser et déposer