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.