quill.js官方文档(三)【API之Formatting,Selection】

Quill: 格式 (formats) Quill支持多种格式,包括UI控件和API调用。 阅读详情

Formatting

format

设置用户当前选择文本的格式,返回一个代表变化的Delta数据。如果用户当前选择的长度为0,只是一个游标,这个格式将被激活,所以用户输入的下一个字符将被应用这个格式。 Source可能是 “user”、 “api” 或者 “silent”。当编辑器不可用[disabled]#disable且source参数为“user”时,调用将被忽略。

方法

format(name: String, value: any, source: String = 'api'): Delta

示例

quill.format('color', 'red');
quill.format('align', 'right');

formatLine

设置传入范围内所有行的格式,返回代表变化的Delta数据。参见formats查看可用的格式列表。
传入行内格式调用将没有效果。传入的参数value为false则会移除格式。用户的选择状态将不会被保存。Source可能是 “user”、 “api” 或者 “silent”。当编辑器不可用[disabled]#disable且source参数为“user”时,调用将被忽略。

方法

formatLine(index: Number, length: Number, source: String = 'api'): Delta
formatLine(index: Number, length: Number, format: String, value: any,
           source: String = 'api'): Delta
formatLine(index: Number, length: Number, formats: { [String]: any },
           source: String = 'api'): Delta

示例

quill.setText('Hello\nWorld!\n');

quill.formatLine(1, 2, 'align', 'right');   // right aligns the first line
quill.formatLine(4, 4, 'align', 'center');  // center aligns both lines

formatText

设置编辑器内文本的格式,返回代表变化的Delta数据。对行级别的格式如文本对齐,对准换行符或使用formatLine方法。参见formats查看可用的格式列表。传入的参数value为false则会移除格式。用户的选择状态将不会被保存。Source可能是 “user”、 “api” 或者 “silent”。当编辑器不可用[disabled]#disable且source参数为“user”时,调用将被忽略。

方法

formatText(index: Number, length: Number, source: String = 'api'): Delta
formatText(index: Number, length: Number, format: String, value: any,
           source: String = 'api'): Delta
formatText(index: Number, length: Number, formats: { [String]: any },
           source: String = 'api'): Delta

示例

quill.setText('Hello\nWorld!\n');

quill.formatText(0, 5, 'bold', true);      // bolds 'hello'

quill.formatText(0, 5, {                   // unbolds 'hello' and set its color to blue
  'bold': false,
  'color': 'rgb(0, 0, 255)'
});

quill.formatText(5, 1, 'align', 'right');  // right aligns the 'hello' line

getFormat

返回传入范围内文本的一般格式。要输出格式,在选区范围内的所有文本必须有一个真值。如果有不同的真值,所有真值将作为一个数组输出。如果没有传入范围,将使用用户的当前选区。也可以用于输出当前光标位置的格式。如果没有带参数调用,将使用用户的当前选择区域。

方法

getFormat(range: Range = current): { [String]: any }
getFormat(index: Number, length: Number = 0): { [String]: any }

示例

quill.setText('Hello World!');
quill.formatText(0, 2, 'bold', true);
quill.formatText(1, 2, 'italic', true);
quill.getFormat(0, 2);   // { bold: true }
quill.getFormat(1, 1);   // { bold: true, italic: true }

quill.formatText(0, 2, 'color', 'red');
quill.formatText(2, 1, 'color', 'blue');
quill.getFormat(0, 3);   // { color: ['red', 'blue'] }

quill.setSelection(3);
quill.getFormat();       // { italic: true, color: 'blue' }

quill.format('strike', true);
quill.getFormat();       // { italic: true, color: 'blue', strike: true }

quill.formatLine(0, 1, 'align', 'right');
quill.getFormat();       // { italic: true, color: 'blue', strike: true,
                         //   align: 'right' }

removeFormat

移除传入区域所有格式和嵌入对象,返回代表变化的Delta数据。如果一行数据的一部分在传入区域内,行格式将会被移除。
用户的选择区域将不会被保存。Source可能是 “user”、 “api” 或者 “silent”。当编辑器不可用[disabled]#disable且source参数为“user”时,调用将被忽略。

方法

removeFormat(index: Number, length: Number, source: String = 'api'): Delta

示例

quill.setContents([
  { insert: 'Hello', { bold: true } },
  { insert: '\n', { align: 'center' } },
  { insert: { formula: 'x^2' } },
  { insert: '\n', { align: 'center' } },
  { insert: 'World', { italic: true }},
  { insert: '\n', { align: 'center' } }
]);

quill.removeFormat(3, 7);
// Editor contents are now
// [
//   { insert: 'Hel', { bold: true } },
//   { insert: 'lo\n\nWo' },
//   { insert: 'rld', { italic: true }},
//   { insert: '\n', { align: 'center' } }
// ]

Selection

getBounds

返回给定选区相对于编辑器容器的的像素位置和尺寸。用户的当前选区不需要在索引下。用于计算提示框的位置。

方法

getBounds(index: Number, length: Number = 0):
  { left: Number, top: Number, height: Number, width: Number }

示例

quill.setText('Hello\nWorld\n');
quill.getBounds(7);  // Returns { height: 15, width: 0, left: 27, top: 31 }

getSelection

计算用户选择的范围,可选是否要求焦点在编辑器上(如果focus为true,且焦点会一直在编辑器内,且不改变选区)。如果焦点不在编辑器上,将会返回null。
方法

getSelection(focus = false): { index: Number, length: Number }

示例

var range = quill.getSelection();
if (range) {
  if (range.length == 0) {
    console.log('User cursor is at index', range.index);
  } else {
    var text = quill.getText(range.index, range.length);
    console.log('User has highlighted: ', text);
  }
} else {
  console.log('User cursor is not in editor');
}

setSelection

给定范围设置用户的选区,同时焦点在编辑器上。作为选区传入 null,将会使编辑器失去焦点。Source 可能是 “user”, “api”,或者 “silent”.

方法

setSelection(index: Number, length: Number = 0, source: String = 'api')
setSelection(range: { index: Number, length: Number },
             source: String = 'api')

示例

quill.setSelection(0, 5);
基于Quill.js的现代富文本编辑器实战项目 Quill.js 是一款由 Salesforce 团队主导开发的现代富文本编辑器,诞生于对传统原生行为不可控、语义混乱以及插件体系松散等问题的深刻反思。其核心设计理念聚焦于可预测性、模块化与语义化输出,通过引入 Delta 数据结构统一描述内容变更,确保编辑操作在跨平台环境下仍具有一致性。相比 CKEditor 或 TinyMCE 等重型方案,Quill 以轻量内核 + 插件扩展的方式实现了高度灵活性,尤其适合构建需定制化内容输入逻辑的应用场景。 阅读详情

相关推荐

从ADC校准到精准测量:避开PY32F030小信号采样的那些坑

本文深入探讨了PY32F030微控制器进行ADC小信号采样时面临的挑战与解决方案。从硬件设计、软件滤波算法到系统级校准策略,详细分析了如何避开常见陷阱,实现精准测量,特别是在25mV以下小信号场景中的应用实践。

ujm567890的博客 754

如何选择开源富文本编辑器?

StackEdit 是一款基于 Web 的在线 Markdown 编辑器,使用者可以通过它轻松编辑 Markdown 文档、同时还可以直接将 Markdown 文档同步到一些云端存储服务如 Dropbox 、Google Drive 、GitHub 等,这是 StackEdit 的另一大特点。无论你是一位专业的开发人员,还是一个有兴趣的学习者,这些开源编辑器将带给你无限的创造空间,同时可以轻松扩展和自定义,让你的工作更加高效和愉悦。它使用可扩展的、可配置的、可组合的模块来管理文本内容的编辑。

mnilz的博客 1211

中小型微服务系统 硬件设备如何部署,QPS大概多少

作为一名合格的开发工程师,不仅仅要在前期开发阶段对业务和技术有深入了解,知道选用哪种合适的技术,业务如何拆分,还要思考后期线上环境,资源,延迟,性能等如何优化维护以及分布式系统一些线上生产的一些问题。 本篇主要针对之前了解的情况对硬件设备资源做一个简单的介绍: 首先分布式系统线上实践问题,我们应该对公司的流量,各个服务,网管,注册中心应该如何部署,部署多少台机器才合适,每台机器的配置如何,每天整体流量有多少,高峰期的请求量有多少,你的整体系统是否扛得住(注:很多公司现在直接使用K8S docker 实现

wangxuelei036的博客 1万+

在VUE中使用富文本编辑器 Quill.js

本文主要介绍了 Web 富文本编辑器 Quill.js,包括其受欢迎的原因,如简单易用、功能丰富、扩展性好等。还详细讲解了使用方法,如快速体验、配置工具栏、内容操作、选区处理、格式操作、扩展模块等。

念旧的博客 1946

jmeter小白下载安装步骤

本文仅仅简单介绍了jmeter工具的下载安装,以及基础的操作步骤。

昔年@曦的博客 3491

太速科技-基于DSP TMS320C6678+FPGA XC7V690T的6U VPX信号处理卡

当多块盘并行工作时,存储阵列读写带宽成指数增长,2块盘则≥4GB/s,4块盘则≥8GB/s,以此类推。存储阵列的存储容量由单盘配置决定,目前单块NVME存储盘存储容量可选择512GB、1TB、2TB、4TB、8TB、16TB。硬盘管理通过文件系统,FPGA的PCIeX4与 6U VPX主板互联,操作系统直接映射管理硬盘,也可以通过前面板QSFP+ 光纤导出给其他服务器设备。本方案优势就是集中的进行采集,存储,计算一体化,降低硬件成本、功耗,减小设备体积、重量。信号处理,无线电通信领域。

Orihard_的博客 678

【quill.js】深入理解quilljs

前言 这篇文章中的很多内容都来自Adam Charron的《Getting to know QuillJS - Part 1》中,文中结合了我自己的一些理解和经验,内容也做了些调整,希望能帮到准备使用quilljs的你。 quilljs是什么? quilljs是一个现代富文本编辑器,它具备良好的兼容性及强大的可扩展性。用户可以非常方便地实现自定义功能。另一特点是,quilljs自带一套数据系统...

weixin_34018169的博客 2811

众灵科技24路舵机控制器二次开发实战(1)-STM32串口指令控制详解

本文详细介绍了如何通过STM32单片机对众灵科技24路舵机控制器进行二次开发,实现串口指令控制。文章从硬件连接、通信协议解析到STM32代码实战,手把手指导开发者打通控制链路,并重点讲解了如何调用预设动作组驱动六足机器人,为后续集成传感器、无线遥控等高级功能奠定基础。

weixin_29188997的博客 483

quill.js 用法

富文本

foradmin的博客 2063

嵌入式存储入门:Emmc控制器与设备工作原理全解析(附Synopsys/Arasan架构图)

本文深入解析了嵌入式系统中Emmc控制器与设备的工作原理,重点剖析了其作为CPU与存储设备桥梁的核心架构。通过对比Synopsys和Arasan两家主流IP厂商的控制器设计,详细阐述了DMA引擎与FIFO缓冲模块如何协同工作以提升数据传输效率,并提供了从硬件PCB布局到驱动调试的实战指南,帮助硬件工程师与开发者优化系统性能。

weixin_29248653的博客 145

YOLOv11涨点改进 | NeurIPS2025最佳论文!注意力改进篇| 引入Gated Attention门控注意力模块、太牛了!直接拯救了大模型的发展,助力目标检测、图像分割、图像分类有效涨点

本文提出了一种基于门控注意力机制(GatedAttention)的YOLOv11改进方法。该模块通过在标准注意力机制中引入头部特定的sigmoid门控,有效提升了模型性能和训练稳定性。实验表明,GatedAttention能够增强模型对关键信息的聚焦能力,减少无关区域关注,提高检测精度。同时,门控机制带来的非线性和稀疏性优化了计算效率,并缓解了训练不稳定性问题。文章详细介绍了模块原理、实现代码及三种改进方案配置方法,为YOLOv11在复杂场景下的目标检测提供了有效解决方案。

Ai缝合怪、助力小伙伴高效发论文 494

Quill.js 常见问题解决方案

Quill.js 常见问题解决方案 【免费下载链接】quill Quill 是一个为兼容性和可扩展性而构建的现代所见即所得编辑器。 项目地址: https://gitcode.com/GitHub_Trending/qu/quil...

gitblog_07824的博客 860

解锁Vscode:C/C++环境配置超详细指南

本文详细介绍如何在 VSCode 中配置 C/C++ 开发环境,帮助开发者快速搭建高效的编码调试环境。内容涵盖前期准备、软件下载安装、环境变量配置、工作区文件设置及测试运行全流程:首先需准备 VSCode 编辑器、MinGW-w64 编译器及 C/C++ 插件;接着完成工具下载与安装,配置系统环境变量以确保编译器可全局调用;然后通过创建.vscode工作区文件夹,配置核心文件,实现代码智能提示与调试功能;最后通过编写 Hello World 示例验证环境可用性,并附上常见问题排查方案。

邓邓子的博客 3044

quill.js官方文档(一)【Configuration,Formats】

Configuration Quill允许通过多种方式对其进行自定义以满足您的需求。 本节致力于调整现有功能。 有关添加新功能的信息,请参见模块部分;有关样式的信息,请参见主题部分。 Container Quill 需要一个容器,其中将附加编辑器。 您可以传入CSS选择器或DOM对象。 var editor = new Quill('.editor'); // First matching element will be used var container = document.getElementB

极客神殿 2560

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

关于quill.js富文本编辑器使用及控制代码高亮显示

关于vue-quill-editor的使用

freydog的博客 2477

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

【免费下载】 Quill富文本编辑器教程

Quill富文本编辑器教程 【免费下载链接】quill Quill 是一个为兼容性和可扩展性而构建的现代所见即所得编辑器。 项目地址: https://gitcode.com/GitHub_Trending/qu/quill ...

gitblog_00814的博客 2631

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

现代富文本编辑器Quill的模块化机制

DevUI是一支兼具设计视角和工程视角的团队,服务于华为云DevCloud平台和华为内部数个中后台系统,服务于设计师和前端工程师。 官方网站:devui.design Ng组件库:ng-devui(欢迎Star) 引言 本文基于DevUI的富文本编辑器开发实践和Quill源码写成。 EditorX是DevUI开发的一款好用、易用、功能强大的富文本编辑器,它的底层基于Quill,并对其做了大量扩展,以增强编辑器的能力。 Quill是一款API驱动、支持格式和模块定制的开源Web富文本编辑器,目前在..

kagol的博客 1847

vue-quill-editor 官方文档

vue-quill-editor 官方文档

橙-极纪元-JJYCheng 3147

【亲测免费】 Quill.js 开源项目教程

Quill.js 开源项目教程 【免费下载链接】quill Quill 是一个为兼容性和可扩展性而构建的现代所见即所得编辑器。 项目地址: https://gitcode.com/GitHub_Trending/qu/quill ...

gitblog_00782的博客 626

quill.js官方文档(九)【Clipboard,Syntax】

粘贴板(clipboard)模块 粘贴板处理Quill和外部程序直接的复制、剪切和粘贴。默认提供内容粘贴的正常解析,也能通过匹配做进一步的定制。 粘贴板模块解析通过后序遍历]对应DOM树粘贴HTML, 建立所有子节点的Delta表达。目前为止,每个子节点,匹配器函数用DOM节点和Delta表达调用,允许匹配器返回一个修改的Delta表达。 为了有效的使用匹配,需要熟练驾驭Deltas。 API addMatcher 添加定制的匹配器到粘贴板模块,匹配器优先使用nodeType匹配并加入,接下来使用CSS选择

极客神殿 3057

quill.js官方文档(二)【API之Content】

deleteText 从编辑器中删除文本,返回代表对应变化的Delta数据。Source可能是 “user”、 “api” 或者 “silent”。当编辑器不可用[disabled]#disable且source参数为“user”时,调用将被忽略。 方法 deleteText(index: Number, length: Number, source: String = 'api'): Delta 示例 quill.deleteText(6, 4); getContents 返回编辑器的内容——包含格式

极客神殿 2149

百度UEDITOR编辑器可以如何直接复制WORD的图文内容到编辑器中?

编辑器:百度ueditor前端:vue2,vue3,vue-cli,html5需求:复制粘贴word内容图片,word图片转存交互,导入pdf,导入PowerPoint(PPT)要求:开源,免费,技术支持用户体验:Ctrl+V快捷键操作今天早上又有网友加我微信私聊,说是想了解一下这块的技术和方案。实际我的微信号之前就已经在网上公开了,但是很多网友还是说找不到,这个可真有点难度了。

weixin_52050572的博客 1497

一款轻便的富文本编辑器---Quill

1、官网地址:https://quilljs.com 2、直接上代码: html> head> meta charset="utf-8"> meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1

St_Sp_En的博客 5240

【亲测免费】 Quill.js 开源文本编辑器实战指南

Quill.js 是一个高度可定制的免费开源富文本编辑器,专为现代网络设计。其基于 WYSIWYG(所见即所得)概念,提供了一个模块化架构和富有表现力的应用程序接口(API),使得开发者能够轻松地集成和定制以满足不同项目的需求。无论是小型个人博客还是大型企业级应用,Quill 都能以其灵活性和强大功能,支持从基础的文字编辑到复杂的格式控制。 ## 项目快速启动 要迅速上手 Quill.js,首...

gitblog_01187的博客 1125

quill富文本编辑器 API

//1. 从第三个开始删除,删除4个 // console.log(this.quill.deleteText(2, 4)); // 12345678 1278 // 2.(返回对象)返回从第三个开始,返回4个,编辑器里面不变 .insert = 3456; 不写参数参数,默认全部 // console.log(thi...

Mangojjx的博客 1728

quill富文本编辑器 自定义字体和大小 以及提交和回显

第一步:引入quill样式,我是下载到本地了 <!-- 主题样式 --> <link rel="stylesheet" href="${request.contextPath}/statics/css/quill.snow.css"> <link rel="stylesheet" href="${request.contextPath}/statics/css/quill.bubble.css"> <link rel="stylesheet" href="${re.

qq_37278017的博客 4457
上一篇: quill.js官方文档(二)【API之Content】
下一篇: quill.js官方文档(四)【API之Editor,Events】
.NET跨平台
博客等级 码龄15年 6066粉丝 738原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值