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