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

The HTMLElement.onpaste property of the HTMLElement interface is an event handler that processes paste events.

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

Note that there is currently no DOM-only way to obtain the text being pasted; you'll have to use an nsIClipboard to get that information.


target.onpaste = functionRef;


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


This example logs every copy and paste attempt to the <textarea>.


<h3>Play with this text area:</h3>
<textarea id="editor" rows="3">Try copying and pasting text into this field!</textarea>

<p id="log"></p>


function logCopy(event) {
  log.innerText = 'Copied!\n' + log.innerText;

function logPaste(event) {
  log.innerText = 'Pasted!\n' + log.innerText;

const editor = document.getElementById('editor');
const log = document.getElementById('log');

editor.oncopy = logCopy;
editor.onpaste = logPaste;



WHATWG Standard

Browser compatibility

BCD tables only load in the browser

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

See also