Element: contextmenu イベント
contextmenu イベントは、ユーザーがコンテキストメニューを開こうとしたときに発行されます。このイベントは、通常、マウスの右ボタンをクリックするか、コンテキストメニューキーを押すことで発行されます。
後者の場合、コンテキストメニューは、フォーカスされた要素の左下に表示されます。ただし、要素がツリーの場合は、現在の行の左下に表示されます。
右クリックイベントが (イベントの preventDefault() メソッドを呼び出して) 無効化されていない場合は、対象となる要素で contextmenu イベントが発行されます。
| バブリング | あり |
|---|---|
| キャンセル | 可 |
| インターフェイス | MouseEvent |
| イベントハンドラープロパティ | oncontextmenu (en-US) |
例
この例では、最初の段落で contextmenu イベントが発行されたときに、preventDefault() を使って contextmenu イベントの既定のアクションをキャンセルしています。その結果、第 1 段落は右クリックしても何も起こらず、第 2 段落にはブラウザーが提供する標準的なコンテキストメニューが表示されることになります。
HTML
html
<p id="noContextMenu">この段落ではコンテキストメニューが無効になっています。</p>
<p>しかし、この段落では無効になっていません。</p>
JavaScript
js
const noContext = document.getElementById('noContextMenu');
noContext.addEventListener('contextmenu', e => {
e.preventDefault();
});
結果
仕様書
| Specification |
|---|
| UI Events # event-type-contextmenu |
ブラウザーの互換性
BCD tables only load in the browser