我刚刚开始使用contentEditable,但没有找到太多全面的信息。
我注意到在Chrome中,我可以按 CTRL - B 和 CTRL - I < / KBD>
这可能是其他浏览器中的预期行为吗?例如,这适用于Chrome:
<div class="container" id="typer" onclick="this.contentEditable='true';">
我想知道我是否可以阅读此格式,以保存用户的编辑?另外,我可以创建一个粗体按钮和斜体按钮来触发 CTRL - B 和 CTRL - I ?或者我需要依赖用户按 CTRL - B 和 CTRL - I (这意味着提供它们)一张纸条告诉他们)?
答案 0 :(得分:16)
这是所有主流浏览器的标准配置。在所有主流浏览器中,还有document.execCommand()
提供的键盘快捷键的程序化等效项。例如,粗体和斜体命令可以按如下方式执行:
document.execCommand("Bold", false, null);
document.execCommand("Italic", false, null);
但是,生成的加价因浏览器而异。例如,粗体的变体包括<b>foo</b>
,<strong>foo</strong>
和<span style="font-weight: bold">foo</span>
。
参考文献:
答案 1 :(得分:2)
简短回答&#39;是&#39;。您可能会发现此article很有趣。很多&#39;开发商走了这条路。如果你想要一个漂亮的所见即所得的编辑器,有很多可供选择。
关于你的问题:是的,你可以阅读格式。在元素上尝试使用innerHTML,您会在粗体周围找到<b>
标记,并在斜体周围找到<i>
。另外 - 在我分享的文章中,您将了解如何创建一个粗体的按钮。希望这有帮助!
答案 2 :(得分:0)
您可以在此处查看哪些浏览器支持contentEditable功能:
https://caniuse.com/#search=contenteditable
正如Tim Down所说的,您可以调用document.execCommand()
来加粗或斜体。
但是,不能期望所有浏览器中的键盘快捷键都相同,浏览器快捷方式不是标准化的。例如, CTRL-B 是FireFox中的书签快捷方式。