Glissement de données dans un élément HTML
Adobe AIR 1.0 et les versions ultérieures
Le comportement par défaut n’autorise que le glissement de texte vers des zones modifiables de la page. Vous pouvez indiquer qu’un élément et ses enfants peuvent devenir modifiables en incluant l’attribut
contenteditable
dans la balise de début de l’élément. Vous pouvez également rendre un document entier modifiable en définissant la propriété
designMode
de l’objet Document sur
on
.
Vous pouvez prendre en charge d’autres comportements de glissement vers l’intérieur en gérant les événements
dragenter
,
dragover
et
drop
de tout élément capable d’accepter les données glissées.
Activation du glissement vers l’intérieur
Pour gérer le mouvement de glissement vers l’intérieur, vous devez au préalable annuler le comportement par défaut. Ecoutez les événements
dragenter
et
dragover
sur tout élément HTML à utiliser à titre de cible de dépôt. Dans les gestionnaires de ces événements, appelez la méthode
preventDefault()
de l’objet événement distribué. Annuler le comportement par défaut permet aux zones non modifiables de recevoir un dépôt.
Obtention des données déposées
Vous pouvez accéder aux données déposées dans le gestionnaire de l’événement
ondrop
:
function doDrop(event){
droppedText = event.dataTransfer.getData("text/plain");
}
Utilisez la méthode
dataTransfer.getData()
pour lire les données dans le Presse-papiers en transmettant le type MIME du format de données à lire. Pour identifier les formats de données disponibles, utilisez la propriété
types
de l’objet
dataTransfer
. Le tableau
types
contient la chaîne de type MIME de chaque format disponible.
Lorsque vous annulez le comportement par défaut pour les événements dragenter ou dragover, il vous incombe d’insérer toute donnée déposée à l’emplacement approprié dans le document. Il n’existe pas d’API permettant de convertir une position souris en point d’insertion au sein d’un élément. Cette restriction risque de compliquer la mise en œuvre des mouvements de glissement de type insertion.
|
|
|