Fügen Sie linebreak auf textContent oder innerText-nur - in Chrom

Dies ist ein kompliziert! Im arbeiten mit contentEditable in Chrom und ich erlebe ein Kopf-Schmelz-problem. Wenn ich die return-Taste drücken, Chrome fügt ein neues div, in das innerHTML. Das ist schön und gut. Das problem ist, dass der Zeilenumbruch ist nirgends zu finden in den div ' s textContent. Ich wirklich brauchen, um herauszufinden, einen Weg, um den Zeilenumbruch zu den textContent an der gleichen Stelle wie das div in der Pause innerHTML.

Irgendwelche Ideen?

UPDATE:

Kann ich verwenden, innerText aber dann die Zeilenumbrüche, die sind da, wenn die Seite geladen wird, werden ignoriert. Ich brauche Konsistenz über eine der folgenden Methoden. In anderen Worten, ich brauche textContent zu zeigen, neu eingegebenen Zeilenumbrüche oder innerText, um zu zeigen, Zeilenumbrüche, dass es auf die Seite laden.

Hier ist eine aktualisierte demo:

JS:

function checkit() {
  var c1 = document.getElementById('c1')
  alert("TEXTCONTENT:\n" + c1.textContent + "\n\nINNERTEXT:\n" + c1.innerText + "\n\nINNERHTML:\n" + c1.innerHTML)
}

CSS:

div {padding: 20px; border-bottom: 1px solid #CCC;}

HTML:

<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>

InformationsquelleAutor cronoklee | 2012-02-17
Schreibe einen Kommentar