Rechtsklickmenü / Kontextmenü

  • Mal wieder eine Frage ;)


    Zur Lösung..


    Ich erweitere das rechts-Klick Menü mit zwei punkten:

    HTML
    <div id="1" contextmenu='rmenu'>Div1</div>
    <div id="2" contextmenu='rmenu'>Div2</div>
    
    
    
    
    <menu type="context" id="rmenu">
    	<menuitem label="punkt1" class="s_class" id="s_1"></menuitem>
    	<menuitem label="punkt2" class="s_class" id="s_2"></menuitem>
    </menu>


    Wenn ich jetzt Klicks auf den Punkt abfange:

    JavaScript
    $(".s_class").click(function() {
    
    
    
    
    }


    Weiß ich nicht, wie ich herausfinden soll, auf welches Element der Rechtsklick gemacht wurde.
    Weiß jemand, wie?

  • kann kein jquery
    aber von der Logik her sollte in die click func das object oder ein ident rein kommen.
    also evtl sowas:

    JavaScript
    $(".s_class").click(function(this) {
     alert(this.id)
    }
  • Ja dann bekäme ich die Id des geklickten Menü Eintrags ^^ :D
    Genau da scheiter ich.


    Und man darf auch:

    JavaScript
    $(".s_class").click(function() {
      alert(this.id);
    }


    :)


    Edit:
    Das gibt dann aus: s_1 oder halt s_2
    Ich will aber 1(id vom div) oder 2

  • JavaScript
    $(".s_class").click({
     var onclick = $(this);
    }


    Damit würde die Variable onclick das Element repräsentieren, auf das geklickt wurde, soweit ich weiß.
    Und dann die relevanten Elemente einfach mit onclick.element ansprechen...

  • Hmm jetzt bekomme ich die Id, von dem Element das vorher mit LINKS angeklickt wurde :/
    Aber denke das lässt sich noch modifizieren,
    << war n bug. Man bräuchte sowas wie beforethis oder so ^^


    The Scout, ja genau, this repräsentiert das aktuelle obj. was allerdings der Kontextmenü Eintrag ist und nicht das Element auf das der Rechtsklick gemacht wurde.

  • jQuery arbeitet doch mit den CSS Selektoren:


    CSS
    .s_class[label="punkt1"]


    So sollte das theoretisch möglich sein, ich weiß nicht welche Version du nutzt und in wie weit das dort unterstützt wird.

  • Nein nein, ihr versteht was falsch ;) ich will nicht herausfinden auf welchen Kontextmenü Eintrag geklickt wurde, sondern, auf welches Element der rechts klick ausgeführt wurde :D

  • Okay und wenn ein Punkt angeklickt wird musst du wissen auf welches Element der letzte Rechtsklick ging?


    Das wäre ein möglicher Lösungsansatz:



    So kannst du jederzeit lastClick abfragen welches Element zuletzt mit Rechtsklick gedrückt wurde (sofern es eine id hat, sonst kriegst du false oder eben das vorletzte :love:

  • Ne keine Ahnung.. ja doch natürlich, das ist wie document.onclick ein ganz normaler Eventhandler nur wird dieser halt ausgeführt wenn das Kontextmenü mit einem Rechtsklick aufgerufen wird.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!