2014-03-31 7 views
5

Ich versuche, die Maus-Rechtsklick-Option zu deaktivieren. Also habe ich contextmenu Bind Funktion verwendet, um es zu verhindern. Dies funktioniert gut, aber wenn shift zusammen mit der mosue right click gedrückt wird, löst die contextmenu Bind-Funktion nicht aus, aber es zeigt die contextmenu. Bedeutet, dass ich nicht die Warnung bekomme, aber es zeigt das Menü an.Wie deaktiviert man Maus Rechtsklick-Menü, wenn Shift in Firefox gedrückt wird?

Hier ist der Code, den ich ausprobiert habe.

Um die Shift-Taste zu erfassen drücken Sie die Maus und klicken Sie mit der rechten Maustaste auf den folgenden Code, aber das hilft nicht. Vielleicht mache ich etwas falsch.

Ich habe versucht, die e.preventDefault statt Rückkehr false geben. Ich denke, dass das Kontextmenü Ereignis selbst nicht in Firefox ausgelöst wird, wenn Shift angeklickt wird.

Wie deaktivieren Sie die Maus mit der rechten Maustaste in dieser Situation für Firefox? Jede Hilfe oder Anhaltspunkt wird viel hilfreich sein

JSFIDDLE HINWEIS Dies ist nicht in Chrom geschieht. Dies geschieht nur in Firefox. Ist das ein Fehler?

+0

http://jsfiddle.net/guvenaltuntas/9RYsb/ auch versucht und fehlgeschlagen –

Antwort

3

Es ist kein Fehler, es ist eine Funktion!

http://www.whatwg.org/specs/web-apps/current-work/multipage/interactive-elements.html#context-menus

Benutzerprogramme können Mittel zur Verfügung stellen, um das Kontextmenü Verarbeitungsmodell zu umgehen, um sicherzustellen, dass der Benutzer immer die Standardkontextmenüs UA zugreifen können. Beispielsweise könnte der Benutzeragent mit der rechten Maustaste klickt, bei denen die Umschalttaste gedrückt wurde, so dass das Kontextmenuereignis nicht auslöst und stattdessen immer das Standardkontextmenü angezeigt wird.

Sie können dies nicht in Firefox tun, von Entwurf. Es ist ärgerlich, vor allem für komplexe Web-Apps und Spiele, aber es ist hart in den Browser codiert und es gibt keine Möglichkeit, es in Javascript (das ich weiß) zu deaktivieren.

Schuld die Standards, nicht Mozilla.

0

Javascript code to disable mouse right click

<script language="javascript"> 
    document.onmousedown=disableRightclick; 
    status="Disabled"; 
    function disableRightclick(event) 
    { 
     if(event.button==2) 
     { 
     alert(status); 
     return false;  
     } 
    } 
    </script> 

Auf der HTML Body-Tag legen Sie die oncontextmenu Eigenschaft auf false.

<body oncontextmenu="return false"> 
... 
</body> 

Haftungshinweis: Die angegebenen Link ist der Blog, die ich geschrieben habe. Hope das löst das Problem.

Verwandte Themen