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.
js
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
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
js
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 Standard # handler-oncopy |
Browser compatibility
BCD tables only load in the browser