Rolf B: Event 'mousedown': Kriege das Kontext-Menü des Browsers nicht weg...

Beitrag lesen

Hallo Amarganth,

So geht's

Vorteil: Das unterdrückt auch Kontextmenü-Aufrufe per Tastatur.

Nachteil: Das unterdrückt auch Kontextmenü-Aufrufe per Tastatur.

Du gibst dem User damit also nicht nur die Freiheit, die rechte Maustaste für andere Dinge zu verwenden, sondern nimmst ihm auch das Kontextmenü weg. Deshalb solltest Du Dir gut überlegen, in welchem Container Du das tust. Auf dem ganzen Dokument ist das mutmaßlich zu viel.

Die Idee, dass Du den User damit erfolgreich am Klauen von Bildern hinderst, solltest Du dabei gleich vergessen. Da bieten die Browser-Entwicklerwerkzeuge genügend andere Möglichkeiten, und ein Kontextmenü ist auch per Tastatur verfügbar.

Aber ich erinnere mich an lang vergangene Zeiten, wo ich den Rechtsklick durch Behandlung von click oder mousedown (bzw. mouseup, weil das Kontextmenü ja beim LOSLASSEN der Maus öffnet) erfolgreich abgefangen habe. Das muss zu Zeiten gewesen sein, wo Google noch kein Browserhersteller war, sondern die Back-End Suchmaschine von Yahoo und sogar CompuServe noch Relevanz besaß. Da gab es das contextmenu Event noch nicht.

Ein bisschen wundert es mich, dass diese Technik nicht mehr funktioniert, eigentlich wird das Erhalten von Alttechnik im Web ziemlich hochgehalten. Und im MDN steht

Any right-click event that is not disabled (by calling the event's preventDefault() method) will result in a contextmenu event being fired at the targeted element.

Und obwohl defaultPrevented auf true ist, geht das Kontextmenü trotzdem auf. Ein wenig verwirrt bin ich schon.

Rolf

--
sumpsi - posui - obstruxi