標準のコンテキストメニューをブロックして、右クリックイベントを手動で処理します。
これはどのように行われますか?
oncontextmenu
イベントを使用してください。
これが例です:
<div oncontextmenu="javascript:alert('success!');return false;">
Lorem Ipsum
</div>
そしてイベントリスナーを使う:
el.addEventListener('contextmenu', function(ev) {
ev.preventDefault();
alert('success!');
return false;
}, false);
Falseを返すことを忘れないでください。そうしないと、標準のコンテキストメニューが依然としてポップアップ表示されます。
あなたがjavascript:alert("Success!")
ではなくあなたが書いた関数を使うつもりなら、関数とoncontextmenu
属性の両方でfalseを返すことを忘れないでください。
私はあなたがこのようなものを探していると思います:
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 )
それから、関数rightclick()を使ってもonmousedownを使います(ページ全体でグローバルに使いたい場合は、<body onmousedown=rightclick(); >
を使えます。