如何在非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粘贴纯文本?的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2648626.html