如何在非vue项目中使用vue-quill-editor实现粘贴纯文本功能?
问题介绍:
在非vue构建的纯javascript项目中,需要在vue-quill-editor中实现以下功能:
- 粘贴文本时,将富文本转换为纯文本并插入到光标位置
- 替换光标选中的内容
- 粘贴后光标位置移动到文本末尾
- 忽略当前文本样式,确保粘贴文本为纯文本
解决方案:
立即学习“前端免费学习笔记(深入)”;
使用quill.js的clipboard.addmatcher方法,可以自定义粘贴内容:
const node_type = { element_node: 1 }; quill.clipboard.addmatcher(node_type.element_node, function (node, delta) { // 获取粘贴的纯文本 var plaintext = node.innertext; var delta = quill.import("delta"); return new delta().insert(plaintext); });
登录后复制
对于第二和第三个要求,可以通过使用updatecontents方法来修改富文本内容,并通过retain保留光标之前的文本。
quill.updateContents([ { retain: index, // 当前光标位置的索引 }, { insert: paste, // 粘贴文本 }, ]);
登录后复制
至于最后一个要求,quill.js的clipboard.matchers已经过滤掉了i和b标签,因此粘贴的内容不会带有样式。
参考文档:
- [quill.js clipboard](https://quilljs.com/docs/modules/clipboard)
- [quill.js delta](https://quilljs.com/docs/delta#playground)
- [mdn node.nodetype](https://developer.mozilla.org/en-us/docs/web/api/node/nodetype)
以上就是如何在非Vue项目中用vue-quill-editor粘贴纯文本?的详细内容,更多请关注抖狐科技其它相关文章!
-
ipadpro如何查看帧率
通过启用帧率计数器,用户可以通过以下步骤查看 ipad pro 的帧率:1. 打开“开发人员”选项;2. 启用帧率计数器;3. 显示帧率计数器。如何查看 iPad Pro 的帧率 iPad Pro 配...
-
vim命令如何全部删除文本内容
vim 删除全部文本内容有两种方法:1. 使用 ggdggg 命令从文件开头删除到结尾;2. 使用 :w !dd 命令写入缓冲区并用 dd 命令删除文件。如何使用 Vim 命令删除全部文本内容 在 V...
-
如何关闭微信视频号朋友点赞提示?我点赞的视频怎么屏蔽好友?
在微信视频号中,点赞提示可能会令人分心,尤其是在您关注了许多朋友的情况下。为了获得更流畅的观看体验,关闭点赞提示至关重要。本文,php小编柚子将为大家提供分步指南,教您轻松关闭这些提示,让您专注于享受...
-
《江湖如梦》紫晶获得方法
问题:在热门国风仙侠游戏《江湖如梦》中,该如何获取珍贵的道具——紫晶?简单说明:紫晶是游戏中提升装备属性的重要道具,了解其获取方式至关重要。引导:本文由 php小编新一为您详解《江湖如梦》中紫晶的获取...
-
韩剧TV怎么设置系统变换模式 系统变换模式设置方法
困扰于韩剧tv无法顺畅切换系统变换模式?别着急,php小编鱼仔为您带来详细解答!这篇文章将一步步指导您设置韩剧tv的系统变换模式,让您轻松享受切换系统带来的便利。 《韩剧TV》系统变换模式设置方法 我...