Это сложный вопрос! Я работаю с contentEditable в Chrome, и у меня возникла проблема с таянием головы. Когда я нажимаю клавишу возврата, Chrome вставляет новый div в innerHTML. Это хорошо и денди. Проблема в том, что разрыв строки нигде не встречается в текстовом контенте div. Мне действительно нужно найти способ добавить разрыв строки к textContent в том же месте, что и разрыв div в innerHTML.
Есть идеи?
UPDATE:
Я могу использовать innerText, но тогда разрывы строк появляются, когда загрузки страниц игнорируются. Мне нужна последовательность по одному из этих методов. Другими словами, мне нужен textContent для отображения вновь введенных разрывов строк или innerText для отображения разрывов строк, которые существовали при загрузке страницы.
Вот обновленная демоверсия:
function checkit() {
var c1 = document.getElementById('c1')
alert("TEXTCONTENT:\n" + c1.textContent + "\n\nINNERTEXT:\n" + c1.innerText + "\n\nINNERHTML:\n" + c1.innerHTML)
}
div {padding: 20px; border-bottom: 1px solid #CCC;}
<div><a href="#" onclick="checkit()">check it</a></div>
<div contentEditable="true" id="c1">click inside this <b>div</b>,
press return and then press <b>check it</b> above</div>