質問:
次の場合に特定のアクションを実行する方法デフォルトのブラウザのコンテキスト メニューが表示されないようにしながら、右クリックします。
答え:
解決策 1: oncontextmenu イベント ハンドラーを使用する
jQuery は組み込みの oncontextmenu を提供しませんイベントハンドラ。代わりに、次のアプローチを使用できます。
$(document).ready(function() { document.oncontextmenu = function() { return false; }; });
これにより、DOM 要素の oncontextmenu イベントがキャンセルされて、ブラウザーのコンテキスト メニューが無効になります。
解決策 2: jQuery の Mousedown イベントを使用するHandler
jQuery を使用してマウスダウン イベントをキャプチャし、どのボタンが押されたかを判断できます。押された:
$(document).ready(function() { $(document).mousedown(function(e) { if (e.button == 2) { // Right mouse button clicked alert('Right mouse button!'); return false; } return true; }); });
このアプローチは、コンテキスト メニューの無効化とマウスの右クリックの検出を組み合わせたものです。
デモ:
次のことができます。次のコード例を開いて右クリックし、上記のソリューションをテストします:
<html> <head> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script type="text/javascript"> $(document).ready(function() { $(document).mousedown(function(e) { if (e.button == 2) { alert('Right mouse button!'); } }); }); </script> </head> <body> <h1>Test Right Mouse Click Event</h1> </body> </html>
以上がイベントをマウスの右クリックにバインドし、ブラウザのコンテキスト メニューを非表示にする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。