Kontextmenüs in HTML (AIR)

Adobe AIR 1.0 und höher

In HTML-Inhalt, der mithilfe des HTMLLoader-Objekts angezeigt wird, können Sie ein Kontextmenü mit dem contextmenu -Ereignis anzeigen. Standardmäßig wird ein Kontextmenü automatisch angezeigt, wenn der Benutzer für ausgewählten Text (durch Klicken mit der rechten Maustaste bzw. der Befehlstaste) ein Kontextmenüereignis aufruft. Um ein Öffnen des Standardmenüs zu verhindern, überwachen Sie das contextmenu -Ereignis und rufen Sie die preventDefault() -Methode des Ereignisobjekts auf:

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

Sie können dann mit den DHTML-Methoden oder durch Anzeigen eines nativen AIR-Kontextmenüs ein benutzerdefiniertes Kontextmenü einblenden. Das folgende Beispiel reagiert auf das HTML- contextmenu -Ereignis durch Aufrufen der display() -Methode des Menüs zum Anzeigen eines nativen Kontextmenüs:

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