Aquí tienes algo que he programado en 10 minutos:
Código HTML:
<html>
<head>
<title>Prueba</title>
<style>
div#contexto { background-color:red; padding:40px; text-align:center; margin: 50;}
div#menu { position:absolute; top:0; left:0; display:none; border: 2px solid black; }
div#menu a { display:block; background-color:blue; color:pink; text-decoration:none; padding:2px;}
div#menu a:hover { background-color:pink; color:blue;}
</style>
<script>
var capa;
var menu;
var temporizador=null;
function inicio(){
menu=document.getElementById("menu");
capa=document.getElementById("contexto");
capa.oncontextmenu=muestraMenu;
}
function actualizaTempo(tiempo){
if (temporizador)
clearTimeout(temporizador);
temporizador=setTimeout("ocultaMenu();",tiempo);
}
function muestraMenu(e){
e.preventDefault();
e.stopPropagation();
menu.style.top=e.pageY-5;
menu.style.left=e.pageX-5;
menu.style.display="block";
}
function ocultaMenu(){
if (temporizador)
clearTimeout(temporizador);
menu.style.display="none";
}
function log(texto){
var log=document.getElementById("log");
log.innerHTML=texto;
ocultaMenu();
}
</script>
</head>
<body onload="inicio();">
<div id="contexto"> PINCHA BOTON DERECHO DENTRO DE MI </div>
<div id="log"></div>
<div id="menu" onmouseover="actualizaTempo(10000);" onmouseout="actualizaTempo(300);">
<a href="#" onclick="log('Elegida opcion 1');">Opcion 1</a>
<a href="#" onclick="log('Opcion 2 pulsada');">Opcion 2</a>
<a href="#" onclick="log('Al final pinchaste opcion 3');">Opcion 3</a>
</div>
</body>
</html>
Con ella se crea un menu contextual que sustituye al del botón derecho del raton, pero solo si pinchas dentro del div.
La he subido a mi carpeta de experimentos.
Aquí se puede ver el ejemplo online.
Edit: Ops, no vi el ejemplo de Dnielf. Muy bueno.