Как автоматом очистить форматирование при копировании / вставке?
Существуют ли решения на JavaScript, которые при вставке текста в блок с contenteditable="true" автоматически очищает форматирование? Иначе, если пользователи будут копипастить текст откуда попало, со временем будет каша.
Нашел решение. Оказывается, существует событие paste, которое происходит, когда мы вставляем что-то в блок. Соответственно, можно повесить обработчик на него, отменить действие по умолчанию, а затем перехваченный текст обработать как душе угодно:
document.querySelector('div[contenteditable="true"]').addEventListener("paste", function(e) {
e.preventDefault();
var text = e.clipboardData.getData("text/plain");
document.execCommand("insertHTML", false, text);
});