@looperman

Как создать свой способ переноса строк в div contenteditable true?

В обычном состоянии при нажатии на Enter в div c contenteditable = true, создаётся новый блок.
Мне нужно, чтобы при нажатии на Enter создавалась новая текстовая строка и не более. Как этого можно добиться? Спасибо!
  • Вопрос задан
  • 172 просмотра
Решения вопроса 1
zkrvndm
@zkrvndm
Архитектор решений
Используй CSS-свойство white-space: pre-wrap

Плюс, при вводе выполняй сравнение текста с содержимым и если оно не равно, делай замену:
document.querySelector('div[contenteditable="true"]').addEventListener('input', function() {
	if (this.innerHTML != this.innerText) {
		this.innerHTML = this.innerText;
		var range = document.createRange();
		range.selectNodeContents(this);
		range.collapse(false);
		var sel = window.getSelection();
		sel.removeAllRanges();
		sel.addRange(range);
	}
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы