这让我感到困惑 如下面的代码所示,当您按下" ctrl + b"在div中,字体粗体变得更大胆,而它在textarea中不会发生 这个问题是基于Marcus Ekwall对Rendering HTML inside textarea的回答。但是我无法添加评论,所以我在这里问。
div, textarea {
width: 100px;
height: 100px;
border: 1px solid;
padding: 5px;
}
textarea {
resize: none;
}

<div contentEditable="true"></div>
<textarea contentEditable="true" placeholder="textarea"></textarea>
&#13;
答案 0 :(得分:3)
不起作用,因为它不支持HTML标记
当它运行document.execCommand(&#34;粗体&#34;)在所选文本中添加<b>fdsfsdfds</b>
这里是一个使用jQuery(更新)
的例子
$("#editor").keypress("c",function(e){
if(e.ctrlKey) {
document.execCommand('bold', false, null);
}
})
&#13;
#editor {
width: 200px;
height: 200px;
border: 1px solid;
padding: 5px;
resize: none;
border: 1px solid black;
word-wrap: break-word;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div id="editor" contentEditable="true"></div>
&#13;
请参阅此帖关于keypress jquery: keypress, ctrl+c (or some combo like that)
有关document.execCommand http://codepen.io/netsi1964/pen/QbLLGW http://codepen.io/netsi1964/pen/QbLLGW
的更多示例答案 1 :(得分:0)
行为只是浏览器特定的。不同浏览器有不同的行为。感谢adeneo的提及:在textarea中,除了纯文本之外不能添加任何内容。