Avatar billede chw Nybegynder
18. marts 2005 - 15:43 Der er 11 kommentarer og
1 løsning

højre musseklik

Hej,

Jeg har en side hvor man højreklikker på et billede. Det der sker når man højreklikker er at min aspxside kaldes med parameter for det billede. Problemet er bare at den kasse med "åbn hyperlink" "Åbn hyperlink i nyt vindue osv. også kommer frem". Er der mulighed for at undgå dette???
Avatar billede majsmarken Nybegynder
18. marts 2005 - 15:58 #1
Check denne - blandt flere muligheder:
http://www.dynamicdrive.com/dynamicindex9/noright3.htm
Avatar billede chw Nybegynder
18. marts 2005 - 16:03 #2
forstår ikke helt hvordan jeg kan bruge den. Når man trykker på et billede i på min side kalder jeg jo minside.aspx?id="parameter fra billedet"
Avatar billede majsmarken Nybegynder
18. marts 2005 - 16:13 #3
... jeg læste at du (generelt) ville undgå denne standard HøjreKlikMenu ? Jeg kender ikke til asp "dit&dat" programering - såååå...
Avatar billede chw Nybegynder
18. marts 2005 - 16:16 #4
ok. Jeg har behov for at kalde min side fra html. Det går jeg bare ved at submitte minside.aspx. Det sker også når jeg trykker på højre musseknap, men den samtidig kommer den trælse boks frem.
Avatar billede olebole Juniormester
18. marts 2005 - 20:27 #5
<ole>

Uden kode må der jo gættes - så begynd med at returnere false i din event-handler. Evt. kan du også stoppe event'ens boblen op gennem DOM-hierakiet ved at sætte event'ens cancelBubble-property til true

/mvh
</bole>
Avatar billede chw Nybegynder
19. marts 2005 - 12:44 #6
Her er scriptet, som det ser ud nu.

function test(item)
        {
        if (event.button==2)
            {
            document.Form1.action='Home.aspx?id='+item.id;
            document.Form1.submit();
           
            }
        }
Avatar billede chw Nybegynder
19. marts 2005 - 13:31 #7
har også prøvet følgende:

function test(item)
        {
        if (event.button==2)
            {
            document.Form1.action='Home.aspx?id='+item.id;
            document.Form1.submit();
            }
        }
       
        function disableContext()
        {
        window.event.cancelBubble = true;
        event.cancelBubble = true;
        return false;
        }

bliver kaldt således:
<a href="www.google.dk"><img width="100" height="100" id="1" onMouseUp="return disableContext();" onMouseDown="test(this);" src="E:\Billeder\Carsten1.JPG" alt="www.google.dk"></img></a>
Avatar billede chw Nybegynder
19. marts 2005 - 13:59 #8
Man gør åbenbart sådan her: onContextMenu="return false;"
Avatar billede roenving Novice
19. marts 2005 - 18:04 #9
Hvilket jo også var det olebole skrev @18/03-2005 20:27:04
Avatar billede olebole Juniormester
19. marts 2005 - 18:22 #10
Man gør sådan:

function test(item) {
  document.Form1.action='Home.aspx?id='+item.id;
  document.Form1.submit();
  window.event.cancelBubble = true;
  return false;
}

<a href="www.google.dk"><img width="100" height="100" id="1" oncontextmenu="return test(this);" src="E:\Billeder\Carsten1.JPG" alt="www.google.dk"></a>

- og læg mærke til, du aldrig må lukke et img-tag med </img> ... det tag eksisterer ikke  :)
Avatar billede olebole Juniormester
19. marts 2005 - 18:23 #11
Njaaa ...

function test(item) {
  document.Form1.action='Home.aspx?id='+item.id;
  document.Form1.submit();
  if (window.event) window.event.cancelBubble = true;
  return false;
}
Avatar billede olebole Juniormester
19. marts 2005 - 18:34 #12
PS: Skal den være X-browser, kan du skrive:

<script type="text/JavaScript">
function xEvnt(e) {
    e = window.event? window.event : e;
    if (!e.srcElement) e.srcElement = e.target;
    if (typeof e.clientX=="undefined") {
        e.clientX = e.pageX;
        e.clientY = e.pageY;
    }
    if (!e.preventDefault) e.preventDefault = function(){this.returnValue=false};
    return e;
}
function test(item, e) {
  document.Form1.action='Home.aspx?id='+item.id;
  document.Form1.submit();
  e.cancelBubble = true;
  e.preventDefault();
}
function setXevent(elm) {
    if (elm.oncontextmenu) return;
    elm.oncontextmenu = function(e) {
        e = xEvnt(e);
        return test(this, e);
    }
}
</script>

<a href="www.google.dk"><img width="100" height="100" id="1" onmouseover="setXevent(this)" src="E:\Billeder\Carsten1.JPG" alt="www.google.dk"></a>
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