内联代码
把一个单词或一段选区标记为代码,用于句子中的 getHTMLCode() 之类的名称。文本会被包装在一个不带属性的 <code> 元素中,再按一次按钮即可移除。

editor.getHTMLCode() 内部;点击一次 </> 按钮,整个单词就被标记为代码。光标位于代码中时,按钮显示为活动状态。启用
该功能由 inlinecode.js 插件提供(也包含在 plugins/all_plugins.js 中)。它的命令和工具栏项为 inlinecode(工具提示为 "Inline code")。按钮出现的位置:
toolbar: "full":位于主行中,在上标和下标旁边。- 默认工具栏:位于 "More"(⋮)菜单中。
- 您自己的工具栏:把
inlinecode添加到任意位置。
<link rel="stylesheet" href="/richtexteditor/rte_theme_default.css">
<script src="/richtexteditor/rte.js"></script>
<script src="/richtexteditor/plugins/inlinecode.js"></script>
<div id="editor"><p>Call editor.getHTMLCode() to read the content, then save it.</p></div>
<script>
var editor = new RichTextEditor("#editor", {
toolbar: "mytoolbar",
toolbar_mytoolbar: "{bold,italic,underline,inlinecode}|{insertlink,insertcode}|{undo,redo}"
});
</script>
该插件没有选项。命令名为 inlinecode,因为 code 已经是编辑器的 HTML 源代码视图。
使用方法
- 有选区时,选中的文本会被包装并保持选中状态,因此再按一次即可再次移除代码。
- 只有光标时,命令作用于光标所在的单词:即两侧到最近空格为止的字符序列。光标保持在原位。在空白处不会发生任何事;不会创建空的
<code>。 - 移除。如果所有选中的字符都已经是代码,命令会移除代码。移除一段代码中的一部分会将其拆分:在
<code>the content</code>中选中 "content" 并按下按钮,结果是<code>the </code>content。代码段内部的斜体或粗体会保留在被取消代码标记的文本上,但两侧的代码部分可能会保留一个空的副本:在<code>a <i>b</i> c</code>中对 "b" 取消代码标记,保存结果为<code>a <i></i></code><i>b</i><code><i></i> c</code>。 - 输入。开启编辑器的内联 Markdown 快捷方式时(
markdownInlineEnabled,默认开启),输入`npm install`会在输入结束反引号时生成<code>npm install</code>。这无需插件也能使用;插件增加的是按钮和移除代码的方式。
通过脚本:editor.execCommand("inlinecode") 或 editor.toggleInlineCode() 在当前选区处切换代码标记,editor.isInlineCode() 判断光标是否位于代码中。该命令没有键盘快捷键。
注意事项
- 保存的标记是一个不带类名的元素:
最终相邻的两段代码会被合并为一个元素,只包含空格的选区不会被包装。<p>Call <code>editor.getHTMLCode()</code> to read the content, then save it.</p> - 在
<pre>代码块内部或已有代码内部不会进行包装,因为两者本来就是代码。多行代码块请使用insertcode。 - 灰色背景和等宽字体来自编辑器的内容样式表(
runtime/richtexteditor_content.css,规则code { … })。显示所保存 HTML 的页面需要自己的code样式。 - 净化程序必须允许
code元素。大多数净化程序默认允许。
相关内容:工具栏项参考、execCommand、代码片段演示。