【发布时间】:2012-04-10 13:14:49
【问题描述】:
当我创建一个新元素并开始输入(contentEditable 设置为 true),然后查看它的 innerHTML 时,它总是在末尾包含一个额外的 <br>。如果我在输入之前查看 innerHTML,我得到了正确的值。这是正常的吗?我的问题是我正在计算使用<br> 标签的行数,我不能让它给我比我需要的更多。这是一些测试代码(javascript):
var _this = this;
function keyup(event)
{
if (event.keyCode == 112)
{
alert(_this.code.innerHTML);
}
}
function create()
{
this.code = document.createElement("div")
this.code.innerHTML = "Hello world.<br>I like testing popcorn.<br>Testing again.";
this.code.contentEditable = "true";
this.code.onkeyup = keyup;
document.body.appendChild(this.code);
_this = this;
}
window.onload = function()
{
create();
}
代码是这样设置的,当你按下 F1 时,它会显示 div 的内容。我使用的是最新版本的 Firefox。
【问题讨论】:
-
能否请您在更新 innerHtml 的地方也发布代码?
-
只需运行测试代码,您可以通过在 div 中输入任何内容来更新 innerHTML。
标签: javascript html firefox innerhtml contenteditable