7

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

我注意到在 Chrome 中,我可以通过按CTRL-BCTRL-使单词变为粗体/斜体I

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

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

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

我想知道我是否可以阅读这种格式,以保存用户的编辑?另外,我可以创建一个粗体按钮和斜体按钮来触发CTRL-BCTRL-I吗?还是我需要依靠用户按CTRL-BCTRL- I(这意味着向他们提供一个告诉他们的便条)?

4

3 回答 3

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>.

参考:

于 2012-08-13T14:08:31.643 回答
2

简短回答“是”。你可能会觉得这篇文章很有趣。许多开发人员都走上了这条路。如果您想要一个不错的所见即所得编辑器,有很多可供选择。

关于您的问题:是的,您可以阅读格式。尝试在元素上使用innerHTML,您会在粗体周围和斜体周围找到<b>标签。<i>另外 - 在我分享的文章中,您将了解如何创建一个加粗的按钮。希望这可以帮助!

于 2012-08-13T13:44:51.270 回答
0

您可以在此处查看哪些浏览器支持 contentEditable 功能:

https://caniuse.com/#search=contenteditable

正如 Tim Down 所说,您可以将其称为document.execCommand()粗体或斜体。

但是,不能期望所有浏览器中的键盘快捷键都相同,浏览器快捷键没有标准化。CTRL-B例如,Firefox 中的书签快捷方式。

于 2019-11-13T19:48:58.877 回答