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 EventHandler 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.
Syntax
target.onpaste = functionRef;
Value
functionRef is a function name or a function expression. The function receives a ClipboardEvent object as its sole argument.
Example
This example logs every copy and paste attempt to 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
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;
Result
Specification
Browser compatibility
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
onpaste | Chrome Full support 71 | Edge Full support 12 | Firefox Full support 3 | IE ? | Opera Full support Yes | Safari Full support Yes | WebView Android Full support 71 | Chrome Android Full support 71 | Firefox Android Full support 4 | Opera Android Full support Yes | Safari iOS Full support Yes | Samsung 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
- Clipboard API event
paste - Related event handlers
