在使用 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>
|
|
|