# Rechte MAustaste in Div



## notebook20000 (4. Juli 2007)

Hallo,

ich möchte beim Click mit der rechten MAustaste in ein Div ein eigenes  Menü aufrufen. Wie kann ich das bewerkstelligen,  die Maus beim rechtsklick abzufangen?


----------



## Maik (4. Juli 2007)

Hi,

schon mal  mit Javascript Kontextmenü  gefüttert?

Und bitte unterlasse zukünftig solche Threadpushings, um lediglich nachzufragen, ob niemand eine Idee hat. Vielen Dank!


----------



## notebook20000 (5. Juli 2007)

Hallo,

hab das aktivieren jetzt mit folgendem Script hinbekommen

```
function click (e) 
 {
   if (!e)
    e = window.event;
   if ((e.type && e.type == "contextmenu") || (e.button && e.button == 2) || (e.which && e.which == 3)) 
  {
     if (window.opera)
        window.alert("Sorry: Diese Funktion ist deaktiviert.");
     return false;
    }
 }
```
 


Damit wird der Rechtsklick deaktiviert

```
if (document.layers)
    document.captureEvents(Event.MOUSEDOWN);
 document.onmousedown = click;
 document.oncontextmenu = click;
```
 
udn damit kann ich ihn auch wieder aktivieren 


```
if (document.layers)
    document.captureEvents('');
 document.onmousedown = '';
 document.oncontextmenu = '';
```
 

Allerdings geht das nur unterm Firefox. Ich muss auch dazu sagen, das ich das  irgendwie selbst   ausgedacht habe mit den Zuweisungen Weis da jemand was genaeures? Wie kann ich diese  Dinger wieder zurücksetzen?

Es scheint hauptsächlich an 

document.captureEvents(Event.MOUSEDOWN);


zu liegen

wie mache ich das "rückgängig"


----------



## nightryu (9. Juli 2007)

ich weiss zwar leider keine antwort direkt auf deinen code bezogen, jedoch könnte ich dir, wnen du javascript-frameworks wie jQuery nicht abgelehnt bist folgendes empfhlen:

http://www.trendskitchens.co.nz/jquery/contextmenu/
Damit kannst du mithilfe von jQuery gutaussehende rechtsklickmneüs machen die auch crossbrowser-kompatibel sind


----------



## notebook20000 (9. Juli 2007)

Ich habs mal ausprobiert. Wenn ich folgendes benutze


```
<script type="text/javascript">
$(document).ready(function() {
  $("span.demo1").contextMenu("#myMenu1", {
 bindings : {
   "#open" : function(t) {
  alert("Trigger was "+t.id+"\nAction was Open");
   },
   "#email" : function(t) {
  alert("Trigger was "+t.id+"\nAction was Email");
   },
   "#save" : function(t) {
  alert("Trigger was "+t.id+"\nAction was Save");
   },
   "#delete" : function(t) {
  alert("Trigger was "+t.id+"\nAction was Delete");
   }
 }
  });
  $("#demo1").contextMenu("#myMenu1", {
 menuStyle : {
   border : "1px solid #ffffff"
 },
 itemStyle : {
   fontSize : "12px",
   fontFamily : "arial",
   backgroundColor : "#004589",
   color: "#ffffff",
   border:"none",
   padding: "4px"
 },
 itemHoverStyle : {
   color : "#000000",
   backgroundColor: "#FFFF00",
   border : "none"
 }
  });
});
</script>
```


```
</head>
<body>
 
  <div class="contextMenu" id="myMenu1">
    <ul>
      <li id="open">Open</li>
      <li id="email">Email</li>
      <li id="save">Save</li>
      <li id="delete">Delete</li>
    </ul>
  </div>

<p>
<span class="demo1" id="demo1"><b>RIGHT CLICK FOR DEMO</b></span>
```
 

dann gehen die Links nicht. Wenn ich die css definitionen übe rmenustyle kompltt entfernen gehts?! Warum?!


----------



## Stefan Miefert (10. Juli 2007)

Hallo,

aber die cs Styles werden   wenn sie aktiv sind korrekt angezeigt?


----------

