Можно эмулировать долгое нажатие на кнопку. Например, вот так:
var pressTimer;
$("a").mouseup(function(){
// чистим таймер
clearTimeout(pressTimer);
return false;
}).mousedown(function(){
// ставим таймер
pressTimer = window.setTimeout(function() {
// здесь пишем наш код
},1000);
return false;
});
Далее поиграться с таймерами. Если слишком мало времени прошло, регистрируем одно нажатие и даем меню. Если много – открываем поп-ап. Ну и вместо
a
, конечно, может быть и кнопка мыши, и код любой кнопки на клаве.