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.
|
|
|