关于 HTML 中的上下文菜单 (AIR)

Adobe AIR 1.0 和更高版本

在使用 HTMLLoader 对象显示的 HTML 内容中, contextmenu 事件可用于显示上下文菜单。默认情况下,当用户调用所选文本上的上下文菜单事件时(通过右键单击或命令单击文本),将自动显示上下文菜单。若要防止打开默认菜单,可以侦听 contextmenu 事件并调用事件对象的 preventDefault() 方法:

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

然后可以使用 DHTML 技术或通过显示 AIR 本机上下文菜单来显示自定义上下文菜单。以下示例通过调用菜单的 display() 方法响应 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>