javascript - 为什么此代码适用于输入文本框,但不适用于 contenteditable div?

标签 javascript innerhtml contenteditable onkeyup

我有一段 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,此代码可以正常工作。为什么会出现这样的差异?

感谢您的浏览:)

最佳答案

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

关于javascript - 为什么此代码适用于输入文本框,但不适用于 contenteditable div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9608036/

相关文章:

javascript - 是否有正确/推荐的方法来检测我在手机上运行的 UWP 应用程序?

javascript - 以表格形式返回 HTML 元素

javascript - 使用 .innerHTML 时 HTML 标签损坏

javascript - 使用字体系列、字体大小和颜色设置内容可编辑列表 (<li>)

javascript - Typeahead.js/Bloodhound 只显示一个结果

javascript - React Router - 呈现 <Redirect> 而不是子列表组件

javascript - 使用javascript隐藏和显示一个div

javascript - 具有特定innerHTML的Jquery选择器

javascript - 在可内容编辑容器内的元素开头插入文本

javascript - 获取#document-fragment 的 innerHTML 而不是 textContent