2016-12-05 7 views
1

画像を右クリックしても画像がダウンロードされることはありません。 CSSの背景として使用することは選択肢ではありません。「画像を保存」(noobs用)を無効にする

理想的には、私は画像の保存オプションと全体ではなく、コンテキストメニューを削除したいです。私は3つの解決策を見つけました。人々は何を推奨し、なぜですか?インクルードファイルの特定の部分がありますか?

感謝:)

#1

$("body").on("contextmenu", "img", function(e) { 
    return false; 
}); 

#2

$('img').bind('contextmenu', function(e) { 
    return false; 
}); 

121 upvotes、SRC:Disabling right click on images using jquery

#3

$(document).ready(function() { 
    $("img").on("contextmenu", function() { 
     return false; 
    }); 
}); 

76 upvotes、SRC:How to prevent Right Click option using jquery

+0

「background」CSSプロパティにイメージを置くだけです – ixpl0

+3

@iXplo質問をよく読んでください。彼女は「CSSの背景として使うことは選択肢ではない」と述べた。 – besciualex

+4

これらはすべて、文字通り、異なるトリガーポイントを使用して、まったく同じことを行います。私は全く違いがないとは思わない。 – josephting

答えて

2

は、(2)非推奨の方法で使用しています:bindを、私はそれをお勧めしません。

(1)及び(3)同じことを行います、唯一の違いは、ページが完全にロードされた後で(3)リスナーが追加されていることです。

デフォルトのコンテキストメニューから特定のメニュー項目を無効にする方法はありません。しかし、保存オプションは含まれていない "img"要素のための独自のコンテキストメニューを書くことができますが、私はあなたの目的のためにそれが問題にならないと思っています。

+0

をjQueryのをsupportedbyされないドラッグ無効を見つけるために、美しく働いて手に入れました。 (1)を使用し、それを '$(document).ready()'ブロックにラップすることをお勧めします。 –

+0

'on()'関数を使ってアタッチされたイベントハンドラは現在の要素と将来の要素の両方で動作するため、@RhysBradbury(3)は動的に追加されたコンテンツでも使用できます。 http://stackoverflow.com/questions/10082031/why-use-jquery-on-instead-of-click –

+0

私はそれを逃した参照してください! –