contentEditable,CTRL-B CTRL-I并保存

时间:2012-08-13 13:40:20

标签: javascript css html5

我刚刚开始使用contentEditable,但没有找到太多全面的信息。

我注意到在Chrome中,我可以按 CTRL - B CTRL - I < / KBD>

这可能是其他浏览器中的预期行为吗?例如,这适用于Chrome:

<div class="container" id="typer" onclick="this.contentEditable='true';">

http://jsfiddle.net/uk6DA/15/

我想知道我是否可以阅读此格式,以保存用户的编辑?另外,我可以创建一个粗体按钮和斜体按钮来触发 CTRL - B CTRL - I ?或者我需要依赖用户按 CTRL - B CTRL - I (这意味着提供它们)一张纸条告诉他们)?

3 个答案:

答案 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中的书签快捷方式。