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