[解決済み] ウェブページにカスタム右クリックメニューを追加するには?
2022-03-14 16:49:12
質問
Webアプリケーションにカスタムの右クリックメニューを追加したいのですが、どうすればよいですか?これは、事前に作成されたライブラリを使用せずに行うことができますか?もしそうなら、サードパーティのJavaScriptライブラリを使用しない、シンプルなカスタム右クリックメニューを表示する方法を教えてください。
Google Docsがやっているようなものを目指しています。それは、ユーザーが右クリックし、ユーザー独自のメニューを表示することができます。
NOTE 私は、誰かが既に作ったものを使うのではなく、自分で作る方法を学びたいと思っています。なぜなら、ほとんどの場合、サードパーティのライブラリは機能が肥大化しており、私は必要な機能だけが欲しいので、完全に自分の手で作りたいのです。
解決方法は?
質問に答える - 使用
contextmenu
イベントを使用します。
if (document.addEventListener) {
document.addEventListener('contextmenu', function(e) {
alert("You've tried to open context menu"); //here you draw your own menu
e.preventDefault();
}, false);
} else {
document.attachEvent('oncontextmenu', function() {
alert("You've tried to open context menu");
window.event.returnValue = false;
});
}
<body>
Lorem ipsum...
</body>
しかし、本当にデフォルトの右クリックの動作を上書きしたいのか、それは開発中のアプリケーションによります。
関連
-
[解決済み】"フォームが接続されていないため、フォームの送信がキャンセルされました "というエラーの取得について
-
[解決済み】React - TypeError: 未定義のプロパティ 'props' を読み取ることができない。
-
[解決済み】<select>で現在選択されている<option>をJavaScriptで取得するにはどうすればよいですか?
-
[解決済み] 要素外でのクリックを検出するにはどうすればよいですか?
-
JavaScriptのgetElementById()メソッド入門
-
[解決済み] JavaScriptで配列の先頭に新しい配列要素を追加するにはどうすればよいですか?
-
[解決済み] JavaScriptのオブジェクトにキーと値のペアを追加するにはどうすればよいですか?
-
[解決済み] 指定された要素にクラスを追加するには?
-
[解決済み] jQueryでマウスの左クリックと右クリックを区別する方法
-
[解決済み】別のウェブページにリダイレクトするにはどうすればいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
JavaScriptの関数この指摘の問題を説明
-
Vueの要素ツリーコントロールに破線を追加する説明
-
元のイベントが実行されなかった後に要素を追加するためのjQueryソリューション
-
vue for 登録ページ効果 vue for sms 認証コードログイン
-
[解決済み】React - uncaught TypeError: 未定義のプロパティ 'setState' を読み取れない
-
[解決済み] 配列の結合時に未定義のプロパティ 'push' を読み込むことができない
-
[解決済み】GETできない / Nodejsエラー
-
[解決済み】React Uncaught Error: 対象コンテナが DOM 要素でない [重複]。
-
[解決済み】リクエストに失敗していないのに、「TypeError: failed to fetch」が表示される。
-
[解決済み] Webページで右クリックを無効にするには?