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

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
copy eventChrome Full support 58Edge Full support ≤18Firefox Full support YesIE Full support YesOpera Full support 45Safari Full support YesWebView Android Full support 58Chrome Android Full support 58Firefox Android Full support YesOpera Android Full support 43Safari iOS Full support YesSamsung Internet Android Full support 7.0
clipboardDataChrome Full support 58Edge Full support ≤18Firefox 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 Full support YesSamsung Internet Android Full support 7.0

Legend

Full support
Full support
No support
No support

See also