Glissement des données hors d’un élément HTML

Adobe AIR 1.0 et les versions ultérieures

Le comportement par défaut permet de copier par glissement la plupart des contenus d’une page HTML. Vous pouvez contrôler le contenu autorisé à faire l’objet d’un glissement à l’aide des propriétés CSS -webkit-user-select et -webkit-user-drag .

Remplacez le comportement glisser-déposer par défaut dans le gestionnaire de l’événement dragstart . Appelez la méthode setData() de la propriété dataTransfer de l’objet événement pour associer vos propres données au mouvement de glissement.

Pour indiquer les effets de glissement pris en charge par un objet source lorsque vous ne vous fondez pas sur le comportement par défaut, définissez la propriété dataTransfer.effectAllowed de l’objet distribué pour l’événement dragstart . Vous disposez de n’importe quelle combinaison d’effets. Par exemple, si un élément source prend en charge les effets copy et link , définissez la propriété sur copyLink .

Définition des données glissées

Ajoutez les données associées au mouvement de glissement dans le gestionnaire de l’événement dragstart par le biais de la propriété dataTransfer . La méthode dataTransfer.setData() permet de placer les données dans le Presse-papiers en transmettant le type MIME et les données à transférer.

Par exemple, si votre application contient un élément image doté de l’identifiant imageOfGeorge , vous pouvez utiliser le gestionnaire d’événement dragstart suivant. Cet exemple ajoute des représentations d’une photo de George en plusieurs formats de données, augmentant ainsi les chances d’utilisation des données glissées par d’autres applications.

function dragStartHandler(event){         
    event.dataTransfer.effectAllowed = "copy"; 
     
    var dragImage = document.getElementById("imageOfGeorge"); 
    var dragFile = new air.File(dragImage.src); 
    event.dataTransfer.setData("text/plain","A picture of George"); 
    event.dataTransfer.setData("image/x-vnd.adobe.air.bitmap", dragImage); 
    event.dataTransfer.setData("application/x-vnd.adobe.air.file-list", 
                                new Array(dragFile)); 
}
Remarque : lorsque vous appelez la méthode setData() de l’objet dataTransfer , aucune donnée n’est ajoutée par le comportement glisser-déposer par défaut.