Created
September 25, 2014 23:48
-
-
Save cesarfigueroa/27d332384cad45217168 to your computer and use it in GitHub Desktop.
Paste onto a [contenteditable] element as plain text
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
document.querySelector('[contenteditable]').addEventListener('paste', function (event) { | |
event.preventDefault(); | |
document.execCommand('inserttext', false, event.clipboardData.getData('text/plain')); | |
}); |
You could always intercept the data and manually insert it as the innerText of the "content editable" element.
As @jp3492 has said, the execCommand
API is deprecated. The following code works the same by just setting the inner text of the target element.
function pasteAsPlainText(event) {
event.preventDefault();
event.target.innerText = event.clipboardData.getData("text/plain");
}
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Since execCommand is discouraged to use as stated in the official MDN docs as well as w3school, I wonder if this is possible without execCommand. I need to figure this out for work and really cant come to a solution. I ultimately need to prevent formatted text to be pasted, with the cursor in the right place and no execCommand. Any ideas?