HTMLElement.oncopy

This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The oncopy property of the HTMLElement interface is an EventHandler that processes copy events.

The copy event fires when the user attempts to copy text.

Syntax

target.oncopy = functionRef;

Value

functionRef is a function name or a function expression. The function receives a ClipboardEvent object as its sole argument.

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

Specification

WHATWG Standard

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
oncopy
Non-standard
Chrome Full support 71Edge Full support 12Firefox Full support 3IE ? Opera Full support YesSafari Full support YesWebView Android Full support 71Chrome Android Full support 71Firefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support 10.0

Legend

Full support
Full support
Compatibility unknown
Compatibility unknown
Non-standard. Expect poor cross-browser support.
Non-standard. Expect poor cross-browser support.

Since Firefox 13, the preference dom.event.clipboardevents.enabled controls this feature. It defaults to true but can be disabled.

See also