Element: copy event

Вы читаете английскую версию этой статьи, так как пока нет перевода на данный язык. Помогите нам перевести эту статью!

The copy event fires when the user initiates a copy action through the browser's user interface.

Bubbles Yes
Cancelable Yes
Interface ClipboardEvent
Event handler property oncopy

The event's default action is to copy the selection (if any) to the clipboard.

A handler for this event can modify the clipboard contents by calling setData(format, data) on the event's  ClipboardEvent.clipboardData property, and cancelling the event's default action using event.preventDefault().

However, the handler cannot read the clipboard data.

It's possible to construct and dispatch a synthetic copy event, but this will not affect the system clipboard.

Examples

Live example

HTML

<div class="source" contenteditable="true">Try copying text from this box...</div>
<div class="target" contenteditable="true">...and pasting it into this one</div>

JS

const source = document.querySelector('div.source');

source.addEventListener('copy', (event) => {
    const selection = document.getSelection();
    event.clipboardData.setData('text/plain', selection.toString().toUpperCase());
    event.preventDefault();
});

Result

Specifications

Specification Status
Clipboard API and events Working Draft

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
copy eventChrome Full support 58Edge Full support YesFirefox Full support YesIE No support NoOpera Full support 45Safari Full support YesWebView Android Full support 58Chrome Android Full support 58Firefox Android Full support YesOpera Android Full support 43Safari iOS ? Samsung Internet Android ?
clipboardDataChrome Full support 58Edge Full support YesFirefox Full support 22IE No support NoOpera Full support 45Safari Full support YesWebView Android Full support 58Chrome Android Full support 58Firefox Android Full support 22Opera Android Full support 43Safari iOS ? Samsung Internet Android ?

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown

See also