【发布时间】:2011-05-16 08:04:15
【问题描述】:
我有一个用户在其中写入的可编辑 div。正如他所写,一个 javascript 函数将 div html 添加到 textarea。当用户按下 SHIFT+Enter 时,div 得到一个<br>。这很好。
但是当用户单独按 Enter 键时,div 会得到<div></div> 标签。
因此,我尝试使其在按下 Enter 时,javascript 扫描 div 的 html 以消除 </div> 并将 <div> 更改为 <br>。结果将是无论用户按下SHIF+Enter 还是Enter,div 的html 最终将只使用<br> 进行换行。
<head>
<script type="text/javascript">
function doStuff(e){
if (window.event.keyCode == 13) {
var s=document.getElementById("divv").innerHTML;
s.replace("<div>", "<br>");
s.replace("</div>", "");
document.getElementById("divv").innerHTML=s;
}
document.getElementById("txtt").value = document.getElementById("divv").innerHTML;
}
</script>
</head>
<body>
<div contenteditable="true" id="divv" onKeyUp=doStuff(event);">
write here! Then press enter!
</div>
<textarea id="txtt" rows="30" cols="100">
</textarea>
</body>
我的代码不起作用。按下 Enter 后,textArea 仍显示 div 标签。
我不确定我做错了什么。请帮忙。
【问题讨论】:
标签: javascript html replace innerhtml