HTMLElement: copy event
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.
The copy
event fires when the user initiates a copy action through the browser's user interface.
Syntax
Use the event name in methods like addEventListener()
, or set an event handler property.
addEventListener("copy", (event) => {});
oncopy = (event) => {};
Event type
A ClipboardEvent
. Inherits from Event
.
Event properties
Also inherits properties from its parent Event
.
ClipboardEvent.clipboardData
Read only-
A
DataTransfer
object containing the data affected by the user-initiatedcut
,copy
, orpaste
operation, along with its MIME type.
Example
This example blocks every copy and paste attempt from the <textarea>
.
HTML
<h3>Play with this text area:</h3>
<textarea id="editor" rows="3">
Try copying and pasting text into this field!
</textarea>
<h3>Log:</h3>
<p id="log"></p>
JavaScript
const log = document.getElementById("log");
function logCopy(event) {
log.innerText = `Copy blocked!\n${log.innerText}`;
event.preventDefault();
}
function logPaste(event) {
log.innerText = `Paste blocked!\n${log.innerText}`;
event.preventDefault();
}
const editor = document.getElementById("editor");
editor.oncopy = logCopy;
editor.onpaste = logPaste;
Result
Specifications
Specification |
---|
Clipboard API and events # clipboard-event-copy |
HTML # handler-oncopy |
Browser compatibility
Report problems with this compatibility data on GitHubdesktop | mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
copy event |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support