Jens: Event: Mit RECHTER Maustaste auf einen LINK klicken

Hallo.

Schon oft ist behandelt worden, wie man darauf reagieren kann, wenn der Seitenbesucher irgendwo auf der Webseite mit der rechten Maustaste klickt (Stichworte: Quelltext unsichtbar machen u.s.w.) - kein Problem.

Meine Frage ist aber:
Wenn man bei einem LINK auf die rechte Maustaste klickt, erscheint ja auch ein Kontextmenu. Aber das ist ein LINK-bezogenes (Öffnen in neuem Fenster u.s.w.), kein SEITEN-bezogenes.

Kann man auf dieses LINK-bezogene Event auch zugreifen? Wenn es nicht direkt geht -  hat jemand eine Idee, wie es auf Umwegen gehen könnte? Oder es schonmal versucht?

Ich möchte das Kontextmenu für einige Links ersetzen und denke immer schon: das müsste es doch geben...

Danke schonmal und viele Grüße
Jens

  1. Hallo Jens,

    wenn ich Dein Problem richtig verstanden habe, sollte ich Dir jetzt wohl raten, "Überleg Dir was anderes".
    Das Aussehen und/oder Verhalten EINES BESTIMMTEN Browser-Merkmals (und das Kontextmenü ist ein solches) sollte für den Webdesigner eigentlich tabu sein. Erstens um dem User das gewohnte Look&Feel zu erhalten, das er sich selbst "customized" hat, und zweitens weil es außer Windows noch andere Betriebssysteme und außer MS IE noch andere Browser gibt.
    Für meinen o.g. ersten Aspekt wäre hier eigentlich Stefan Einspender zuständig gewesen, aber der war wohl heute noch nicht so schnell ;))

    Also: Entweder vergiss es, oder mach das Kontextmenü komplett selbst. Dann hast Du auch selbst in der Hand, wie es aussieht.

    Gruß,

    Martin

    1. Hallo Martin,

      abgesehen davon, daß Du grundsätzlich in allen Punkten recht hast, kann ich mir schon spezielle "html-Umgebungen" vorstellen, bei denen ein "speziell für einen Browser umgemodeltes" Aussehen von Browserstandartelementen sinvoll sein kann. Ich z.Bsp. erstelle von bestimmten "Künstlerpräsentationen" offline-versionen, die dann in Galerien auf "isolierten" Computer präsentiert werden. Da könnte ich mir so einen "Kontexmenüwunsch" gut vorstellen. Ebenso bei "überschaubaren" Intranet-Konstelationen oder einfach bei einem privaten Dokument für die heimische Festplatte.

      Fiel mir nur als Ergänzung zu Deinen, wie gesagt, richtigen Kommentaren ein....

      Chräcker

      http://www.Stempelgeheimnis.de

      1. Hallo.

        Aus Sicht des Designers, der den User nicht verwirren will, soll und darf, sei Euch natürlich uneingeschränkt Recht gegeben.

        Es geht aber wirklich um eine spezielle Nutzung.

        Denkt mal an den Windows-Explorer: Da habe ich links den tollen Baum. Dort kann ich mit der rechten Maus auf Dateien, Verzeichnisse, Laufwerke u.s.w. klicken und erhalte ein entsprechendes Kontextmenu. Und DAS ist der User durchaus gewohnt. Wenn man nun für ein Content-Management-System ähnliches realisieren will, sieht das mit Look&Feel schon anders aus oder ;-)?

        Naja, jedenfalls wird es wohl nicht gehen...
        Schade.

        Trotzdem danke und -immer wieder-: Die Stempelseite ist intergalaktisch!

        Grüße
        Jens

        1. Hallo.

          Aus Sicht des Designers, der den User nicht verwirren will, soll und darf, sei Euch natürlich uneingeschränkt Recht gegeben.

          Es geht aber wirklich um eine spezielle Nutzung.

          Denkt mal an den Windows-Explorer: Da habe ich links den tollen Baum. Dort kann ich mit der rechten Maus auf Dateien, Verzeichnisse, Laufwerke u.s.w. klicken und erhalte ein entsprechendes Kontextmenu. Und DAS ist der User durchaus gewohnt. Wenn man nun für ein Content-Management-System ähnliches realisieren will, sieht das mit Look&Feel schon anders aus oder ;-)?

          Naja, jedenfalls wird es wohl nicht gehen...
          Schade.

          Trotzdem danke und -immer wieder-: Die Stempelseite ist intergalaktisch!

          Grüße
          Jens

          Kontextmenüs gibt es schon (allerdings nur IE, ab 5 oder 5.5):

          http://www.free-solutions.de/js/rightmouse_personal_ie5x.html
          http://www.free-solutions.de/js/rightmouse_personal_ie55.html

          Einfach mal die Seiten aufrufen und rechte Maustaste klicken.

  2. Hallo

    Okay, ob es nun Sinn macht oder nicht kann man lebhaft diskutieren.

    Aber es geht jedenfalls. (Ich hätte eigentlich nicht hier zu posten brauchen ... ;-)

    Ich habe den Code von Michael Mailers zum sperren der rechten Maustaste
    http://selfhtml.teamone.de/navigation/faq.htm#rechte_maustastehttp://selfhtml.teamone.de/navigation/anzeige/rechte_maustaste.htm
    angepasst.

    Zu betrachten ist das ganze auf
    http://www.musikerring.de/___js/rechte_maus_links.htm

    Und falls ich das da mal wieder rausnehme, hier nochmal der Code, damit Archivsucher aus dem Jahre 2015 nicht im Regen stehen:

    ------------------------------

    <html>
    <head>
    <script type="text/javascript">
    <!--
    //Dieses Skript stammt von Michael Mailers JavaScripts
    //URL: http://www.webaid.de/js  --  eMail: mm@webaid.de
    //Bitte   entfernen   Sie   diesen   Vermerk   nicht  !

    //Das Script ist angepasst von Jens-Holger Hopp
    //die entsprechenden Stellen sind mit //jh gekennzeichnet

    activeAnchor = false; //jh

    if (document.layers){
        window.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP)
        window.onmousedown=rightclick;
        window.onmouseup=rightclick;

    function rightclick(e) {
         if (e.which == 3) {
          // Put right mouse code here
       doRightClick(); //jh
          return false;
         }
         else {
             return true;
            }
        }
    }
    if (document.all){
        function click() {
         if (event.button==2) {
       doRightClick(); //jh
         }

    if (event.button==3) {
       doRightClick(); //jh
      }
        }
        document.onmousedown=click
    }

    function setActiveAnchor(myAnchor,flag){ //jh
     if(flag==true){
      activeAnchor=myAnchor;
     } else {
      activeAnchor=false;
     }
    }

    function getActiveAnchor(){ //jh
     alert('Rechter Mausklick auf '+activeAnchor);
    }

    function doRightClick(){ //jh
     if(activeAnchor == false){
      alert('Rechter Mausklick irgendwohin');
     } else {
      getActiveAnchor();
     }
    }
    // -->
    </script>
    </head>
    <body text="#000000" bgcolor="#cccccc">
    <p>Dieses Script reagiert auf Klick mit der rechten Maustaste.<br>
    Es unterscheidet Klicks auf einen der drei Links und Klicks irgenwo in die Seite.<br>
    (Getestet mit NC4.75 und MSIE5.5)</p>
    <p><a href="javascript:alert('Normaler Klick auf Link1');" onMouseOver="javascript:setActiveAnchor(1,true);" onMouseOut="javascript:setActiveAnchor(1,false);">Link 1</a></p>
    <p><a href="javascript:alert('Normaler Klick auf Link2');" onMouseOver="javascript:setActiveAnchor(2,true);" onMouseOut="javascript:setActiveAnchor(2,false);">Link 2</a></p>
    <p><a href="javascript:alert('Normaler Klick auf Link3');" onMouseOver="javascript:setActiveAnchor(3,true);" onMouseOut="javascript:setActiveAnchor(3,false);">Link 3</a></p>
    </body>
    </html>

    1. Hallo Jens

      zum Thema "ES GEHT" immer wieder empfehlenswert:
      http://www.teamone.de/filez/mp3/scheisse.mp3

      Und natuerlich der Spruch:
      "Stell dir vor es geht und keiner kriegts mit"

      viele Gruesse
        Stefan Muenz

      1. Hallo Stefan.

        Ja, der Sachse ist gut, denn kannte ich schon.

        Und zum Spruch: Ich hatte mir halt gedacht, daß meine Überlegung halt nirgens im self-Archiv und auch sonst wo auffindbar ist und es vielleicht andere aus der Kommunität interessieren könnte irgendwann...

        Hätte ich es lieber für mich behalten sollen?

        [Nachdem ich mich seit Ewigkeiten darüber ärgere (200 Puls), daß die Cursorposition in Textareas nicht auslesbar ist, war ich dann doch ganz froh (100 Puls), zumindest hierfür eine Lösung gefunden zu haben...]

        Viele Grüße
        Jens

  3. Hallo Jens,

    Wenn man bei einem LINK auf die rechte Maustaste klickt, erscheint
    ja auch ein Kontextmenu. Aber das ist ein LINK-bezogenes (Öffnen
    in neuem Fenster u.s.w.), kein SEITEN-bezogenes.

    Kann man auf dieses LINK-bezogene Event auch zugreifen? Wenn es
    nicht direkt geht -  hat jemand eine Idee, wie es auf Umwegen
    gehen könnte? Oder es schonmal versucht?

    Ein eigenes Link-Kontextmenü gibts nicht und das browsereigene wirst
    Du nicht ändern können. Du kannst es aber unterdrücken und statt
    dessen ein eigenes einblenden lassen (siehe Link zum Workshop unten). Den Aufruf wirst Du dann im <a>-Tag einbinden müssen, damit es nicht
    bei jedem Drücken der rechten Mousetaste angezeigt wird.

    Ich möchte das Kontextmenu für einige Links ersetzen und denke
    immer schon: das müsste es doch geben...

    Schau Dir mal den Workshop der Internet Professional "Eigenes
    Kontextmenü mit DHTML" an:
    http://www.vnunet.de/internet-pro/workshops/detail.asp?ArticleID=1343&Topic=Workshops&List=Workshops

    viele Grüsse
    AK