ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript で右クリック イベントを検出し、コンテキスト メニューを処理するにはどうすればよいでしょうか?

JavaScript で右クリック イベントを検出し、コンテキスト メニューを処理するにはどうすればよいでしょうか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-10 01:05:02159ブラウズ

How do you detect right-click events and handle context menus in JavaScript?

JavaScript での右クリック イベント処理

JavaScript での右クリックの検出は、Web アプリケーションの一般的な要件です。一般に信じられていることに反して、右クリック自体は特定の JavaScript イベントではありません。ただし、マウスダウン、マウスアップ、クリックなどの標準的なマウス イベントを通じて検出できます。

右クリック イベントをキャプチャするには、次のロジックを使用します。

document.body.onclick = function (e) {
  let isRightMB;
  e = e || window.event;

  // Determine if it is a right-click event
  if ("which" in e)  // Gecko (Firefox), WebKit (Safari/Chrome) & Opera
    isRightMB = e.which == 3; 
  else if ("button" in e)  // IE, Opera 
    isRightMB = e.button == 2; 

  if (isRightMB) {
    // Handle right-click actions
    console.log("Right mouse button clicked!");
  }
};

もう一方右クリックのコンテキスト メニューがいつ呼び出されたかを検出することが目的の場合、適切なイベントは oncontextmenu です。

window.oncontextmenu = function ()
{
  // Handle context menu actions
  showCustomMenu();
  return false;     // Cancel default context menu
};

これらのイベント ハンドラーを利用することで、マウス ベースの右クリックとJavaScript アプリケーションのコンテキスト メニュー イベント。

以上がJavaScript で右クリック イベントを検出し、コンテキスト メニューを処理するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。