Quill富文本编辑器-无法解释的工具栏行为

Quill富文本编辑器-无法解释的工具栏行为,quill,Quill,我正试图让羽毛笔起来,并为我正在创建的应用程序运行。我一直在关注文档和示例,但在尝试实现全功能编辑器时,似乎无法获得一致的行为。在使用了一些示例后,我找到了一个适用于某些功能但不适用于其他功能的示例,otoh,我找到了另一个适用于第一个示例中缺少的功能,但不适用于其他功能(我知道这有点混淆,我将在下面详细解释) 我对这两个例子进行了研究,对它们进行了删减,并使它们尽可能相似,以找出差异。当最终归结到这一点时,代码中的细微差别让我无法解释为什么我会得到我得到的结果 在第一个示例中,我能够生成一个工

我正试图让羽毛笔起来,并为我正在创建的应用程序运行。我一直在关注文档和示例,但在尝试实现全功能编辑器时,似乎无法获得一致的行为。在使用了一些示例后,我找到了一个适用于某些功能但不适用于其他功能的示例,otoh,我找到了另一个适用于第一个示例中缺少的功能,但不适用于其他功能(我知道这有点混淆,我将在下面详细解释)

我对这两个例子进行了研究,对它们进行了删减,并使它们尽可能相似,以找出差异。当最终归结到这一点时,代码中的细微差别让我无法解释为什么我会得到我得到的结果

在第一个示例中,我能够生成一个工具栏,其中包含一个彩色味蕾和一个背景色味蕾。两者都能正常工作。但是,没有其他工具栏项目出现,例如粗体、斜体、下划线等

在第二个示例中,我可以生成一个工具栏,其中显示所有预期的工具栏项。但是,颜色和背景色选择菜单仅以原始形式显示,没有样式。此外,选项不会显示任何文本,单击选项也不会产生任何效果

我假设“雪”主题负责显示基本工具

以下是屏幕截图,顺序如下所述:

这是令我困惑的部分。以下是第一个文件的代码:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8" />
  <title>Quill Test</title>
  <link rel="stylesheet" href="http://cdn.quilljs.com/1.0.0-rc.4/quill.snow.css" rel="stylesheet">
  <script src="http://cdn.quilljs.com/1.0.0-rc.4/quill.js"></script>

<style>
  #editor-container {
    height: 375px;
    color: #000;
  }
</style>
</head>
<body>

<div id='toolbar-container'>
  <span class="ql-formats">
    <select class="ql-color" title="Colour">
      <option value="rgb(230, 0, 0)" label="rgb(230, 0, 0)"/>
      <option value="rgb(255, 153, 0)" label="rgb(255, 153, 0)"/>
      <option value="rgb(255, 255, 0)" label="rgb(255, 255, 0)"/>
      <option value="rgb(0, 138, 0)" label="rgb(0, 138, 0)"/>
      <option value="rgb(0, 102, 204)" label="rgb(0, 102, 204)"/>
    </select>

    <select title="Background Color" class="ql-background" defaultValue="rgb(255, 255, 255)">
      <option value="rgb(230, 0, 0)" label="rgb(230, 0, 0)"/>
      <option value="rgb(255, 153, 0)" label="rgb(255, 153, 0)"/>
      <option value="rgb(255, 255, 0)" label="rgb(255, 255, 0)"/>
      <option value="rgb(0, 138, 0)" label="rgb(0, 138, 0)"/>
      <option value="rgb(0, 102, 204)" label="rgb(0, 102, 204)"/>
    </select>
  </span>
</div>

<div id="editor-container">
  <p><br></p>
</div>

<script>
  var quill = new Quill('#editor-container', {
    theme: 'snow',
    modules: {
      toolbar: '#toolbar-container'
    }
  });
</script>

</body>
</html>

羽毛笔试验
#编辑器容器{
身高:375px;
颜色:#000;
}

var quill=新的quill(“#编辑器容器”{ 主题:"雪",, 模块:{ 工具栏:“#工具栏容器” } });
第二个文件的代码完全相同,唯一的例外是,在结尾的脚本块中,它是这样的:

<script>
  var quill = new Quill('#editor-container', {
    theme: 'snow'
  });

  quill.addModule('toolbar', {
    container: '#toolbar-container'     // Selector for toolbar container
  });
</script>

var quill=新的quill(“#编辑器容器”{
主题:“雪”
});
quill.addModule('工具栏'{
容器:'#工具栏容器'//工具栏容器的选择器
});

显然,在quill对象上调用addModule和在构造函数中定义modules对象之间有一些区别。然而,对我来说没有意义的是,在这两种情况下,“雪”主题都是在构造函数中定义的,但是为什么在第一种情况下它没有呈现

好吧,我想我已经明白了。首先,我链接到的Quill版本中没有定义Quill.addModule

其次,显然,在构造函数中定义
模块
意味着我现在必须在HTML中定义工具栏中的所有项,并将它们分配给适当的ql类

显然,没有定义
模块
会呈现更基本的工具栏。我想知道是否有可以在构造函数中定义的代码可以生成额外的工具栏项(例如,颜色和背景颜色),而不必显式地将其全部放在HTML中