使用Quill.js构建文本编辑器
Quill是一款免费且开源的文本编辑器,属于所见即所得编辑器的范畴,主要用于我们今天使用的现代网络。它是一个高度可定制的文本编辑器,具有许多表达性的API。Quill非常易于使用,并提供了一个良好的界面,即使对于只有标记经验的人来说,也很容易理解。
在本教程中,我们将使用多个示例来解释如何使用Quill.js构建文本编辑器。
虽然有许多所属于所见即所得文本编辑器的富文本编辑器,但最广泛使用的是Quill,差距非常大。现在,让我们来学习如何使用Quill。
让我们使用Quill创建一个基本的文本编辑器
与Quill一起工作的第一步是能够在我们选择的编辑器中使用它,并为此,我们需要将下面显示的两个CDN链接放在我们的HTML代码的
标签中。<link href="https://cdn.quilljs.com/1.3.7/quill.snow.css" rel="stylesheet"> <script src="https://cdn.quilljs.com/1.3.7/quill.js"></script>
第一个CDN链接是Quill的CSS样式文件,而第二个CDN链接是Quill的JavaScript文件。我们需要将上面显示的这两行代码添加到我们的HTML代码的
标签中。我们的标签应该看起来像这样。
<head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Quill Text Editor</title> <link href="https://cdn.quilljs.com/1.3.7/quill.snow.css" rel="stylesheet"> <script src="https://cdn.quilljs.com/1.3.7/quill.js"></script> </head>
现在我们已经在
标签中添加了CDN,现在是时候开始处理标签了。在标签内部,让我们创建一个id="editor"的<body> <div id="editor" style="height: 250px"></div> </body>
现在剩下的就是在其中创建一个<script>标签,我们将在其中创建一个Quill类的实例,然后将我们创建的<div>的id作为第一个参数传递,第二个参数基本上是一个对象,我们在文本编辑器中指定对象的属性。</p> <p>考虑下面显示的<b><script>标签</b>。</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'><script> var quill = new Quill('#editor', { theme: 'snow' }); </script> </pre><div class="contentsignin">登录后复制</div></div> <p>上述的<script>标签应该放在<body>标签的末尾,即在<body>标签关闭之前。</p> <h3 id="index-html">index.html</h3> <p>整个HTML代码如下所示。</p> <h3 id="Example">Example</h3> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'><!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Quill Text Editor</title> <link href="https://cdn.quilljs.com/1.3.7/quill.snow.css" rel="stylesheet"> <script src="https://cdn.quilljs.com/1.3.7/quill.js"></script> </head> <body> <div id="editor" style="height: 200px"></div> <script> var quill = new Quill('#editor', { theme: 'snow' }); </script>
如果您在浏览器中打开上述HTML文件,您将在浏览器中看到一个文本编辑器输出。在您将看到的文本编辑器中,我们将有大量的工具栏选项可供我们使用,我们可以在文本编辑器中使用任何一个。
让我们自定义文本编辑器的外观
现在假设我们只想提供两个默认的工具栏选项,而不是在普通文本编辑器中默认获得的所有选项。在这种情况下,我们可以使用下面显示的<script>标签。</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'><script> let toolbarOptions = [ ['bold', 'italic', 'underline'] ] let quill = new Quill('#editor', { modules: { toolbar: toolbarOptions }, theme: 'snow' }); </script> </pre><div class="contentsignin">登录后复制</div></div> <p>在上面的<script>标签中,我们只提供了三个选项,即粗体、斜体和下划线,在工具栏中,因此只有这些选项将对文本编辑器可用。</p> <p><b>index.html</b></p> <p>下面显示的是更新后的 index.html 文件。</p> <h3 id="Example">Example</h3> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'><!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Quill Text Editor</title> <link href="https://cdn.quilljs.com/1.3.7/quill.snow.css" rel="stylesheet"> <script src="https://cdn.quilljs.com/1.3.7/quill.js"></script> </head> <body> <div id="editor" style="height: 200px"></div> <script> var toolbarOptions = [ ['bold', 'italic', 'underline'] ] var quill = new Quill('#editor', { modules: { toolbar: toolbarOptions }, theme: 'snow' }); </script>
如果您在浏览器中运行上述文件,您将只能在文本编辑器中看到三个工具栏选项,即粗体选项、斜体选项和下划线选项。
在控制台中记录文本编辑器的内容
现在假设我们想要将我们在文本编辑器中写的内容记录到控制台中,为了做到这一点,我们首先需要在
标签中创建一个按钮。考虑下面显示的创建按钮的代码片段。
<button onclick="consoleHTMLContent()">Print in Console</button>
现在让我们专注于<script>标签,其中我们需要创建一个函数,该函数将实际记录quill文本编辑器的内容以及一些其他工具栏选项。</p> <p>考虑下面显示的更新的<script>标签。</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'><script> let toolbarOptions = [ ['bold', 'italic', 'underline'],[{ 'size': ['small', false, 'large', 'huge'] }],[{ 'color': [] }, { 'background': [] }] ] let quill = new Quill('#editor', { modules: { toolbar: toolbarOptions }, theme: 'snow' }); function consoleHTMLContent() { console.log(quill.root.innerHTML); } </script> </pre><div class="contentsignin">登录后复制</div></div> 在上述<script>标签中,我们有一个名为consoleHTMLContent的函数,其中我打印了quill对象的root属性中存在的内容 <p><b>index.html</b></p> <p>更新后的<b>index.html</b>代码如下所示。</p> <h3 id="Example">Example</h3> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'><!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Quill Text Editor</title> <link href="https://cdn.quilljs.com/1.3.7/quill.snow.css" rel="stylesheet"> <script src="https://cdn.quilljs.com/1.3.7/quill.js"></script> </head> <body> <div id="editor" style="height: 200px"></div> <button onclick="consoleHTMLContent()">Print in Console</button> <script> let toolbarOptions = [ ['bold', 'italic', 'underline'],[{ 'size': ['small', false, 'large', 'huge'] }],[{ 'color': [] }, { 'background': [] }] ] let quill = new Quill('#editor', { modules: { toolbar: toolbarOptions }, theme: 'snow' }); function consoleHTMLContent() { console.log(quill.root.innerHTML); } </script>
如果我们在浏览器中运行上述代码,我们将会看到一个文本编辑器,一旦我们在编辑器中输入一些文本并点击按钮,quill文本编辑器的根对象将会在控制台中打印出来。
输出
我尝试在编辑器中写了一行简单的代码,然后点击了按钮,这是我在浏览器控制台中得到的输出。
<p>Hi There <strong>Inside HTML </strong><em>Is this italic?</em></p>
结论
在本教程中,我们演示了如何使用Quill.js创建具有不同工具栏选项的文本编辑器。通过多个示例,我们解释了如何添加或删除工具栏,以及如何在Quill文本编辑器中控制根元素。
以上是使用Quill.js构建文本编辑器的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

JavaScript字符串替换方法详解及常见问题解答 本文将探讨两种在JavaScript中替换字符串字符的方法:在JavaScript代码内部替换和在网页HTML内部替换。 在JavaScript代码内部替换字符串 最直接的方法是使用replace()方法: str = str.replace("find","replace"); 该方法仅替换第一个匹配项。要替换所有匹配项,需使用正则表达式并添加全局标志g: str = str.replace(/fi

本教程向您展示了如何将自定义的Google搜索API集成到您的博客或网站中,提供了比标准WordPress主题搜索功能更精致的搜索体验。 令人惊讶的是简单!您将能够将搜索限制为Y

本文系列在2017年中期进行了最新信息和新示例。 在此JSON示例中,我们将研究如何使用JSON格式将简单值存储在文件中。 使用键值对符号,我们可以存储任何类型的

增强您的代码演示:开发人员的10个语法荧光笔 在您的网站或博客上共享代码片段是开发人员的常见实践。 选择合适的语法荧光笔可以显着提高可读性和视觉吸引力。 t

因此,在这里,您准备好了解所有称为Ajax的东西。但是,到底是什么? AJAX一词是指用于创建动态,交互式Web内容的一系列宽松的技术。 Ajax一词,最初由Jesse J创造

利用轻松的网页布局:8个基本插件 jQuery大大简化了网页布局。 本文重点介绍了简化该过程的八个功能强大的JQuery插件,对于手动网站创建特别有用

本文介绍了关于JavaScript和JQuery模型视图控制器(MVC)框架的10多个教程的精选选择,非常适合在新的一年中提高您的网络开发技能。 这些教程涵盖了来自Foundatio的一系列主题

核心要点 JavaScript 中的 this 通常指代“拥有”该方法的对象,但具体取决于函数的调用方式。 没有当前对象时,this 指代全局对象。在 Web 浏览器中,它由 window 表示。 调用函数时,this 保持全局对象;但调用对象构造函数或其任何方法时,this 指代对象的实例。 可以使用 call()、apply() 和 bind() 等方法更改 this 的上下文。这些方法使用给定的 this 值和参数调用函数。 JavaScript 是一门优秀的编程语言。几年前,这句话可
