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 |
---|
Clipboard API and events # clipboard-event-copy |
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
copy_event |
1 |
≤18 |
Yes |
Yes |
15 |
3 |
1 |
18 |
Yes |
14 |
3 |
1.0 |
See also
© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Element/copy_event