Почему этот код работает для текстового поля ввода, но не для contenteditable div? - PullRequest
0 голосов
/ 07 марта 2012

У меня есть фрагмент кода Javascript следующим образом:

<div id="TestControl" contentEditable="true" style="width:200px; position:absolute; left:100; top:100; border: 1px solid #000;"></div>
<div style="position:absolute; left:100; top:200; width:200px; border:1px solid #000; padding: 5px 5px 5px 5px;" id="displaydiv" ></div>
<script>
document.getElementById("TestControl").onkeyup = function() {
document.getElementById("displaydiv").innerHTML = this.value;   
}
</script>

Этот код работает нормально, если я заменяю contenteditable div на текстовое поле ввода.Почему неравенство?

Спасибо за поиск :)

1 Ответ

2 голосов
/ 07 марта 2012

У содержимого div нет свойства с именем value

<div id="TestControl" contentEditable="true" style="width:200px; position:absolute; left:100; top:100; border: 1px solid #000;"></div>
<div style="position:absolute; left:100; top:200; width:200px; border:1px solid #000; padding: 5px 5px 5px 5px;" id="displaydiv" ></div>
<script>
document.getElementById("TestControl").onkeyup = function() {
document.getElementById("displaydiv").innerHTML = this.value || this.textContent || this.innerText || this.innerHTML;   
}
</script>
...