О контекстных меню в HTML (AIR)Adobe AIR 1.0 и более новых версий В HTML-содержимом, отображаемом при помощи объекта HTMLLoader, для отображения контекстного меню может использоваться событие 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>
|
|