onContextMenu nur auf einer Ebene!?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • onContextMenu nur auf einer Ebene!?

    Hallo!

    Nehmen wir mal an, ich habe folgenden Code:

    Code:
    <div id="body" style="width:100%;height:100%;">
        <div id="window" style="width:100px;height:100px;">
            Dies ist ein Text
        </div>
    </div>
    Und dazu das folgende JavaScript:
    Code:
    document.getElementById("body")[0].oncontextmenu  = function() {
        ... do sth ...
    }
    Damit generiere ich mir mein persönliches Context Menü. Nun möchte ich aber, dass sich dieses Context Menü nur dann öffnet, wenn ich irgendwo im freien Bereich von "body" klick. Klick ich jedoch im "window", soll mir kein (bzw. ein anderes) Context Menü angezeigt werden.

    Wie kann ich jetzt z.B. das "window" vom Klick ausschließen?

    Danke schonmal...

  • #2
    Prototype bietet die Event.stop()-Methode, damit kannst du das Hochwandern eines Events im DOM-Baum stoppen. Das kannst du im onContextMenu-Handler deines windows einsetzen. Die Implementierung der Browser ist ziemlich unterschiedlich, Prototype bietet dir da eine gute Schnittstelle, also entweder direkt mit Prototype arbeiten oder du schaust mal in den Code und baust dir entsprechende Aufrufe nach.

    Kommentar


    • #3
      Besser man weiss dabei was man tut...

      http://msdn.microsoft.com/en-us/library/ms533545(VS.85).aspx für den IE
      http://developer.mozilla.org/en/docs...nt_Propagation

      Kommentar


      • #4
        Besser man weiss dabei was man tut...
        Habe nie gesagt, dass ich es nicht wüsste

        Kommentar

        Lädt...
        X