steffen: rechtsklickmenü

Hi Forenleser,

guten Morgen erstmal :)

ich habe auf einer seite ein Rechtsklickmenü entdeckt.

[Link:http://gloop.fireburn.de/rechtsklick.html]

Nun hab ich dazu ein paar Fragen, hoffe ihr könnt mir da schnell weiterhelfen:

1.) Wie wird dort die Rechte Maustaste angesprochen? Normal ist das ja event.button, aber das taucht in dem script nicht auf.

2.) Die Variable e wird nirgends festgelegt, trotzdem wird sie direkt verwendet.

3.) var obj = ns6 ? e.target.parentNode : event.srcElement.parentElement; Was genau macht diese Zeile

Danke euch für die hilfe

steffen

  1. Hello out there!

    3.) var obj = ns6 ? e.target.parentNode : event.srcElement.parentElement; Was genau macht diese Zeile

    http://de.selfhtml.org/javascript/sprache/bedingt.htm#entweder_oder

    See ya up the road,
    Gunnar

    --
    “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
    1. Hallo Gunnar,

      3.) var obj = ns6 ? e.target.parentNode : event.srcElement.parentElement; Was genau macht diese Zeile

      danke für den Link, aber ich weiß was das "? :" bedeutet. Nur weiß ich nicht was event.srcElement.parentElement weil in http://de.selfhtml.org/javascript/sprache/eventhandler.htm steht scrElement nicht dabei :(

      e.target.parentNode hingegen wurde für e. nichts angegeben, deshalb auch hier ein dickes ? meiner seits :(

      steffen

      1. Hallo,

        3.) var obj = ns6 ? e.target.parentNode : event.srcElement.

        srcElement ist die Microsoft-proprietäre Eigenschaft für das Zielelement des Ereignisses, d.h. das Element, bei dem das Ereignis tatsächlich ursprünglich passierte. In DOM Events gibt es dafür die Eigenschaft target des Eventobjektes.

        var target = e.target ? e.target : window.event.srcElement; z.B. führt also dazu, dass in jedem Fall das Zielelement in der Variable target gespeichert wird.

        e.target.parentNode hingegen wurde für e. nichts angegeben, deshalb auch hier ein dickes ? meiner seits :(

        e wird der Event-Handler-Funktion (in allen Browsern außer IE) automatisch als erster Parameter übergeben, es handelt sich dabei um das Event-Objekt.

        Mathias

  2. Hey,

    1.) Wie wird dort die Rechte Maustaste angesprochen? Normal ist das ja event.button, aber das taucht in dem script nicht auf.

      
    document.oncontextmenu  = ItemSelMenu;  
    
    

    2.) Die Variable e wird nirgends festgelegt, trotzdem wird sie direkt verwendet.

    ist das ein scherz?

      
    function mouseSelect(e)  
    
    

    3.) var obj = ns6 ? e.target.parentNode : event.srcElement.parentElement; Was genau macht diese Zeile

    wie auch in so vielen anderen Fällen: $suchmaschine hilft!

    Tschö

    1. Hi,

      2.) Die Variable e wird nirgends festgelegt, trotzdem wird sie direkt verwendet.

      ist das ein scherz?

      function mouseSelect(e)

        
      Ja aber da steht ja nichts drin und die variable e wird direkt verwendet.  
        
      mfg
      
  3. ich habe auf einer seite ein Rechtsklickmenü entdeckt.

    [Link:http://gloop.fireburn.de/rechtsklick.html]

    Nun hab ich dazu ein paar Fragen, hoffe ihr könnt mir da schnell weiterhelfen:

    1.) Wie wird dort die Rechte Maustaste angesprochen? Normal ist das ja event.button, aber das taucht in dem script nicht auf.

    Was ist der event.button?
    Die rechte Maustaste ist das Kontexmenu:
    document.oncontextmenu  = ItemSelMenu;

    2.) Die Variable e wird nirgends festgelegt, trotzdem wird sie direkt verwendet.

    Das event objekt wird in Mozillabrowsern automatisch jeder Eventfunktion übergeben.

    üblicherweise wird daher eine Eventfunktion so eingeleitet:

    function onEvent(e)
    {
    if(!e) e = window.event; // Der Event von nicht MZ Browsern ist global
    ....

    3.) var obj = ns6 ? e.target.parentNode : event.srcElement.parentElement; Was genau macht diese Zeile

    Es unterscheidet die verschiedenen Browsern, dass aber nicht besonders Glücklich, da ns6 Objekte prüft, die nichts mit dem hier zu tun haben.

    Besser ist sowas:
    var obj = e.target ? e.target.parentNode : e.srcElement.parentElement;

    Ausführliche Information über JS events in den verschiedenen Browsern findest du hier http://www.quirksmode.org/js/introevents.html und ff.

    Struppi.

    --
    Javascript ist toll (Perl auch!)