--- title: DataTransfer.clearData() slug: Web/API/DataTransfer/clearData tags: - API - HTML DOM - Method - Reference - drag and drop translation_of: Web/API/DataTransfer/clearData ---
La méthode DataTransfer.clearData() retire l'opération de {{domxref("DataTransfer","glisser-déposer")}} pour le format donné. Si la donnée pour le format ciblé n'existe pas, cette méthode n'aura aucun effet.
Note : Si cette méthode est appelée sans argument, ou que le format donné est une {{domxref("DOMString","chaîne de caractères")}} vide, les données de tous les formats seront retirées.
void dataTransfer.clearData([format]);
Void.
Cette exemple illustre l'utilisation des méthodes {{domxref("DataTransfer.getData()","getData()")}}, {{domxref("DataTransfer.setData()","setData()")}} et {{domxref("DataTransfer.clearData()","clearData()")}} de l'objet {{domxref("DataTransfer")}}.
<span class="tweaked" id="source" draggable="true"> Sélectionnez cet élément, glissez-le et déposez-le dans la Zone de Dépose pour le déplacer. </span> <span class="tweaked" id="target">Zone de Dépose</span> <div>Status: <span id="status">Glissez pour démarrer</span></div> <div>Data is: <span id="data">non initialisé</span></div>
span.tweaked { display: inline-block; margin: 1em 0; padding: 1em 2em; } #source { color: blue; border: 1px solid black; } #target { border: 1px solid black; }
window.addEventListener('DOMContentLoaded', function () { // Séléctionner les éléments HTML var draggable = document.getElementById('source') var dropable = document.getElementById('target') var status = document.getElementById('status') var data = document.getElementById('data') var dropped = false // Enregistrer les évènements draggable.addEventListener('dragstart', dragStartHandler) draggable.addEventListener('dragend', dragEndHandler) dropable.addEventListener('dragover', dragOverHandler) dropable.addEventListener('dragleave', dragLeaveHandler) dropable.addEventListener('drop', dropHandler) function dragStartHandler (event) { status.innerHTML = 'Glisse en cours' // Modifier la bordure de l'élément pour indiquer qu'une opération de glisse a démarré event.currentTarget.style.border = '1px dashed blue' // Définir le type et la donnée associée à l'opération de glisse (utilise l'ID de la cible de l'évènement pour la donnée) event.dataTransfer.setData('text/plain', event.target.id) data.innerHTML = event.dataTransfer.getData('text/plain') } function dragEndHandler (event) { if (!dropped) { status.innerHTML = 'Glisse annulée' } data.innerHTML = event.dataTransfer.getData('text/plain') || 'vide' // Modifier la bordure de l'élément pour indiquer que l'opération de glisse n'est plus en cours event.currentTarget.style.border = '1px solid black' if (dropped) { // Retirer tous les évènements enregistrés précédemment draggable.removeEventListener('dragstart', dragStartHandler) draggable.removeEventListener('dragend', dragEndHandler) dropable.removeEventListener('dragover', dragOverHandler) dropable.removeEventListener('dragleave', dragLeaveHandler) dropable.removeEventListener('drop', dropHandler) } } function dragOverHandler (event) { status.innerHTML = 'Dépose disponible' event.preventDefault() } function dragLeaveHandler (event) { status.innerHTML = 'Glisse en cours (la dépose était disponible)' event.preventDefault() } function dropHandler (event) { dropped = true status.innerHTML = 'Dépose effectuée' event.preventDefault() // Récupérer la donnée liée au type « text/plain » var _data = event.dataTransfer.getData('text/plain') var element = document.getElementById(_data) // Insérer l'élément source de l'opération de glisse en tant que dernier enfant de l'élément cible de l'opération de dépose event.target.appendChild(element) // Modifier les styles CSS et le texte affiché element.style.cssText = 'border: 1px solid black;display: block; color: red' element.innerHTML = "J'suis dans la Zone de Dépose !" // Effacer les données de TOUS les types liés à l'opération de glisse (car on n'a pas donné de paramètre) event.dataTransfer.clearData() } })
{{EmbedLiveSample('Exemple', 300, 250)}}
Spécification | Statut | Commentaire |
---|---|---|
{{SpecName('HTML WHATWG', 'interaction.html#dom-datatransfer-cleardata','DataTransfer.clearData()')}} | {{Spec2('HTML WHATWG')}} | |
{{SpecName('HTML5.1', 'editing.html#dom-datatransfer-cleardata','DataTransfer.clearData()')}} | {{Spec2('HTML5.1')}} | Définition initiale |
{{Compat("api.DataTransfer.clearData")}}
{{page("/fr/docs/Web/API/DataTransfer", "See also")}}