copy

copy イベントは、ユーザがブラウザの UI を通じて コピー操作を起こした時 (例えば、キーボードショートカットの CTRL/Cmd+C を押した時やメニューから "コピー" を選んだ時) に発火し、許可された document.execCommand('copy') 呼び出しに応答します。

一般情報

仕様書 Clipboard
インターフェイス ClipboardEvent
バブル
キャンセル
対象オブジェクト Element: フォーカスされた要素 (contentEditable 要素については選択範囲の開始位置を含む要素)、または <body> 要素。
既定の動作 下記参照。

このイベントのハンドラは、setData(format, data) の呼び出しにより提供された ClipboardEvent.clipboardData オブジェクトを変更できます:

document.addEventListener('copy', function(e){
    e.clipboardData.setData('text/plain', 'Hello, world!');
    e.clipboardData.setData('text/html', '<b>Hello, world!</b>');
    e.preventDefault(); // We want our data, not data from any selection, to be written to the clipboard
});

このイベントのハンドラは、clipboardData.getData() を使用してもクリップボードのデータを読めません。

イベントの既定の動作は、イベントの呼び出し元に依存し、ハンドラの動作は以下のようになります:

  • 合成された copy イベントは、既定の動作を持ちません。ただし、以下の動作をします。
  • イベントがキャンセルされなかった場合、(もしあれば) 選択範囲をクリップボードへコピーします。
  • ハンドラがイベントをキャンセルして setData() を呼び出した場合、clipboardData の内容をクリップボードへコピーします。
  • ハンドラが setData() を呼び出さずにイベントをキャンセルした場合、何も動作しません。

プロパティ

プロパティ 説明
target 読取専用 EventTarget イベントターゲット (DOM ツリー内最上位の対象)
type 読取専用 DOMString イベントの型
bubbles 読取専用 Boolean 通常時のバブリングの有無
cancelable 読取専用 Boolean イベントのキャンセルの可否

ブラウザ実装状況

機能 Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
基本サポート (有) (有) ? ? ?
clipboardData (有) 22 (22) 未サポート ? ?
機能 Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
基本サポート ? (有) ? ? ?
clipboardData ? 22.0 (22) ? ? ?

ドキュメントのタグと貢献者

 このページの貢献者: Marsf
 最終更新者: Marsf,