Avatar billede madd Nybegynder
05. juli 2003 - 18:29 Der er 1 kommentar og
1 løsning

"Fange" højreklik uden alert()

Hejsa.

Jeg har et link hvori jeg har en onmousedown-attribut. Når mousedown bliver trigget kaldes flg. funktion:

function contextmenu(type, id, e) {
    if (navigator.appName == 'Netscape' && (e.which == 3 || e.which == 2)) {
        return false; 
    } else if (navigator.appName == 'Microsoft Internet Explorer' && (event.button == 2 || event.button == 3)) {
        alert('højreklik!');
        return false;
    }
    return true;
}

Som viser en fin alert i stedet for den normale højreklik-menu. Jeg vil dog ikke vise denne alert men i stedet udføre en anden funktion - men fjerner jeg alert(...) vises den normale højreklik-menu og mit script er mere eller mindre uden nytte.

Hvad skal jeg gøre for ikke at få vist højreklik-menuen?

/mattias
Avatar billede sqren Nybegynder
05. juli 2003 - 18:47 #1
<script language="JavaScript1.2">
<!--
if (window.Event)
  document.captureEvents(Event.MOUSEUP);

function nocontextmenu() 
{
event.cancelBubble = true
event.returnValue = false;

return false;
}

function norightclick(e)
{
if (window.Event)
{
  if (e.which == 2 || e.which == 3)
  return false;
}
else
  if (event.button == 2 || event.button == 3)
  {
  event.cancelBubble = true
  event.returnValue = false;
  return false;
  }

}

document.oncontextmenu = nocontextmenu; 
document.onmousedown = norightclick; 
//-->
</script>
Avatar billede madd Nybegynder
05. juli 2003 - 20:37 #2
Ovenstående kode virker fint oncontextmenu på selve body'en. Problemet er at jeg ville have den til kun at ignorere højreklik på bestemte elementer (links f.eks.). Jeg har dog fundet en anden løsning.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester