Ich möchte die Standard-Kontextmenüs blockieren und das Rechtsklick-Ereignis manuell behandeln.
Wie geht das?
Verwenden Sie das Ereignis oncontextmenu
.
Hier ist ein Beispiel:
<div oncontextmenu="javascript:alert('success!');return false;">
Lorem Ipsum
</div>
Und mit Ereignis-Listenern:
el.addEventListener('contextmenu', function(ev) {
ev.preventDefault();
alert('success!');
return false;
}, false);
Vergessen Sie nicht, false zurückzugeben, da sonst das Standard-Kontextmenü weiterhin angezeigt wird.
Wenn Sie eine von Ihnen geschriebene Funktion anstelle von javascript:alert("Success!")
verwenden möchten, denken Sie daran, in BEIDEM die Funktion UND das Attribut oncontextmenu
false zurückzugeben.
Ich denke, dass Sie so etwas suchen:
function rightclick() {
var rightclick;
var e = window.event;
if (e.which) rightclick = (e.which == 3);
else if (e.button) rightclick = (e.button == 2);
alert(rightclick); // true or false, you can trap right click here by if comparison
}
( http://www.quirksmode.org/js/events_properties.html )
Und dann benutze das Onmousedown auch mit der Funktion rightclick () (wenn du es global auf der ganzen Seite verwenden willst, kannst du dies tun <body onmousedown=rightclick(); >