Menús contextuales en HTML (AIR)
Adobe AIR 1.0 y posterior
En HTML el contenido que se muestra utilizando el objeto HTMLLoader, el evento
contextmenu
se puede utilizar para mostrar un menú contextual. Como valor predeterminado, un menú contextual se muestra automáticamente cuando el usuario invoca el evento de menú contextual en el texto seleccionado (haciendo clic con el botón derecho del ratón o haciendo clic en el comando del texto) Para impedir que el menú predeterminado se abra, se debe detectar el evento
contextmenu
y llamar el método
preventDefault()
del objeto de evento:
function showContextMenu(event){
event.preventDefault();
}
Luego se puede mostrar un menú contextual personalizado utilizando las técnicas DHTML o mostrando un menú contextual nativo de AIR. En el siguiente ejemplo se muestra un menú contextual nativo llamando el método
display()
del menú en respuesta al evento
contextmenu
HTML:
<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>
|
|
|