HTMLElement: copy event

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

Event properties

Also inherits properties from its parent Event.

ClipboardEvent.clipboardData Read only

A DataTransfer object containing the data affected by the user-initiated cut, copy, or paste 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

See also