JavaScriptでコピー&ペーストを禁止する方法を解説!

JavaScriptでコピー&ペーストを禁止する方法を解説します。JavaScriptでコピー&ペーストを禁止するという手法は、よく入力フォームなどでとられます。ここでは主にoncopy、onpasteイベントハンドラを用いて解説します。

コンテンツ [表示]

  1. 1JavaScriptでコピー&ペーストを禁止したい
  2. 2JavaScriptでコピー&ペーストを禁止する方法
  3. 2.1コピー禁止
  4. 2.2コピペ禁止
  5. 2.3右クリックメニュー表示禁止
  6. 3HTMLのみで右クリックメニュー表示禁止
  7. 4まとめ

JavaScriptでコピー&ペーストを禁止したい

お問い合わせや会員登録などの入力フォームなどで、メールアドレスやパスワードをあえてコピー&ペーストを禁止させたいということがあります。

その方法についてJavaScriptを用いて解説します。

Photo bymohamed_hassan

JavaScriptでコピー&ペーストを禁止する方法

JavaScriptでコピー&ペーストを禁止する方法について、コピー禁止、ペースト禁止、右クリックメニューを出したときのコピー禁止と分けてそれぞれ解説します。

コピー禁止

コピー禁止させるには、oncopyイベントハンドラを用います。

では実際にサンプルコードを用いて挙動を見てみましょう。

このように一つ目の入力フォームに何か記入してコピーしてみて、2つ目の記入フォームに入力しようとすると出来ないです。

ではサンプルコードの解説を行います。

まずコピー禁止させたい要素をJavaScriptで取得し、それに対してoncopyイベントを用いて、返り値をfalseとします。

これでコピー禁止とすることができます。

HTMLのみでコピー禁止

oncopyは属性としてHTMLにも設定することができます。

ではサンプルコードを用いて挙動を見てみましょう。

このように同じくコピー禁止となっていることが分かります。

ではサンプルコードの解説を行います。

コピー禁止としたい箇所にoncopy="return false"を設定します。
これだけでコピー禁止にすることができます。

コピペ禁止

ここではコピーだけでなく、ペーストも禁止にさせます。

ペーストを禁止させるには、onpasteイベントハンドラを用います。

ではサンプルコードを用いて挙動を見てみましょう。

このように2つの入力フォームどちらもコピペが禁止になっています。

ではサンプルコードの解説を行います。

コピペ禁止のコードに加えて、ペースト禁止としたい要素にonpasteイベントを用いて、return falseとします。

これだけで、コピーに加えて、ペーストも禁止にすることができます。

HTMLのみでコピペ禁止

HTMLのみでコピペ禁止にすることができるので、その方法を紹介します。

ではサンプルコードを用いて挙動を見てみましょう。

このように同様にコピペできないことが分かります。

ではサンプルコードの解説を行います。

コピペ禁止にしたい箇所にコピー禁止のHTMLコードに加えて、onpaste="return false"を設定します。

これだけでコピペ禁止となります。

右クリックメニュー表示禁止

これまでの方法だと右クリックでメニューを出すと、できないのにもかかわらずコピーや貼り付けといったメニューが選択可能でした。

ここではその右クリックしたときにメニューを表示されなくする方法について解説します。

ではサンプルコードを用いて挙動を見てみましょう。

このように入力フォームでは右クリックしてもメニューが表示されないことが分かります。

ではサンプルコードの解説を行います。

まずこれまでと同様にJavaScriptでメニューを表示させたくない要素を取得します。

そしてその要素に対して、oncontextmenuイベントを用いて、return falseとします。

以上です。

HTMLのみで右クリックメニュー表示禁止

こちらもHTMLのみで設定することができるので、その方法について紹介します。

ではサンプルコードを用いて挙動を見てみましょう。

このように入力フォームでは右クリックをしてもメニューが表示されないことがわかります。

ではサンプルコードの解説を行います。

右クリックしてもメニューを表示させたくない要素に対して、oncontextmenu="return false"を設定します。

これだけで、メニュー表示できなくなります。

まとめ

いかがでしたでしょうか?

こちらで紹介した方法はよく入力フォームで用いられています。

ぜひ試してみてください。

GeekHive採用サイト

関連記事