Prototypeを使用してMozillaの特定の要素のデフォルトのコンテキストメニューを無効にする方法は?

StackOverflow https://stackoverflow.com/questions/277924

質問

特定の要素(具体的には h1 および h2 タグ)のコンテキストメニューのナビゲーションオプションを展開しようとしています これらの要素を右クリックしたときに、ブラウザーのデフォルトのアクションを防ぎたい。

このページで素晴らしい情報を見つけました。

ただし、特定の要素のコンテキストメニューを無効にする方法が見つかりませんでした。誰かがそれを行う方法を知っていますか?

プロトタイプをJavaScript APIとして使用しています。

役に立ちましたか?

解決

これにより、特定の要素にコンテキストメニューが表示されなくなります

$(it).observe("contextmenu", function(e){
    e.stop();
});

したがって、たとえば、すべてのH1 / H2タグがコンテキストメニューを表示しないようにします

$('h1, h2').each(function(it){
    $(it).observe("contextmenu", function(e){
        e.stop();
    });
})

他のヒント

少し難読化することもできますが、最終的にはあなたのページはブラウザ内のゲストのみになります希望)。そのため、ページはブラウザに依存して再生する必要があります。ユーザーが見栄えの悪いブラウザーを実行したい場合、または既存のブラウザーをカスタマイズして実行したい場合、それは常にオプションです。ブラウザに何もさせない決して強制することはできません。ユーザーがローカルマシンでページを表示した後、本当に必要な場合は、ユーザーがブラウザで特定のアクティビティを実行するのを Nothing 停止できます。さらに、最近のほとんどのブラウザには、何かが普通ではないように思われる場合にユーザーが通常の動作を簡単にオーバーライドできるようにする機能が既に組み込まれています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top