E' perché in firefox la gestione degli eventi è diversa da IE:
quando in IE sei all'interno di una funzione legata ad un determinato evento, hai a disposizione una variabile, window.event, che contiene l'oggetto Event corrispondente all'evento in corso. In firefox questa variabile non esiste, alle funzioni legate agli eventi viene passato come primo parametro l'oggetto Event corrispondente.
Quello che devi fare è cambiare la funzione Show in modo che prenda in ingresso una variabile, che conterrà un evento e cambiare le righe che usano il clientX e clientY:
codice:
function Show(evt){
// Quello che sta prima
context.style.top = evt.clientY;
context.style.left = evt.clientX;
// Quello che sta dopo
}
e le funzioni di assegnamento degli eventi:
codice:
document.oncontextmenu= function(e)
{
Show(window.event || e); //Quello tra le parentesi significa: passami il valore di window.event se non è null, false o 0, altrimenti il valore e
return false;
}
document.onclick = function(e) {
Show(window.event || e); //Stessa cosa
}
Ora a me funziona.