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) | ? | ? | ? |