A propos des menus contextuels dans un contenu HTML (AIR)

Adobe AIR 1.0 et les versions ultérieures

Dans un contenu HTML affiché à l’aide de l’objet HTMLLoader, l’événement contextmenu permet d’afficher un menu contextuel. Par défaut, un menu contextuel est affiché automatiquement lorsque l’utilisateur appelle l’événement contextmenu sur le texte sélectionné (en cliquant avec le bouton droit de la souris ou en cliquant tout en appuyant sur la touche Commande). Pour empêcher l’affichage du menu par défaut, écoutez l’événement contextmenu et appelez la méthode preventDefault() de l’objet événement :

function showContextMenu(event){ 
    event.preventDefault(); 
}

Vous pouvez ensuite ouvrir un menu contextuel personnalisé à l’aide des techniques DHTML ou en affichant un menu contextuel natif AIR. Dans l’exemple suivant, un menu contextuel natif s’affiche sur appel de la méthode display() du menu en réponse à l’événement HTML contextmenu :

<html> 
<head> 
<script src="AIRAliases.js" language="JavaScript" type="text/javascript"></script> 
<script language="javascript" type="text/javascript"> 
 
function showContextMenu(event){ 
    event.preventDefault(); 
    contextMenu.display(window.nativeWindow.stage, event.clientX, event.clientY); 
} 
 
function createContextMenu(){ 
    var menu = new air.NativeMenu(); 
    var command = menu.addItem(new air.NativeMenuItem("Custom command")); 
    command.addEventListener(air.Event.SELECT, onCommand); 
    return menu; 
} 
 
function onCommand(){ 
    air.trace("Context command invoked."); 
} 
 
var contextMenu = createContextMenu(); 
</script> 
</head> 
<body> 
<p oncontextmenu="showContextMenu(event)" style="-khtml-user-select:auto;">Custom context menu.</p> 
</body> 
</html>