要在Quill.js编辑器中删除自定义标签,你可以使用Quill的
paste
事件和
insertText
方法来实现。
首先,注册
paste
事件,监听粘贴操作:
const quill = new Quill('#editor', {
theme: 'snow'
quill.root.addEventListener('paste', function(event) {
event.preventDefault();
const clipboardData = event.clipboardData || window.clipboardData;
const text = clipboardData.getData('text/plain');
const cleanedText = cleanText(text);
quill.clipboard.dangerouslyPasteHTML(cleanedText);
然后,定义cleanText
函数,用于删除自定义标签:
function cleanText(text) {
// 删除<ins>标签
text = text.replace(/<ins>/gi, '');
text = text.replace(/<\/ins>/gi, '');
// 删除<hr>标签
text = text.replace(/<hr(.*?)>/gi, '');
return text;
在上面的代码中,cleanText
函数使用正则表达式来删除<ins>
和</ins>
标签,并使用replace
方法将<hr>
标签及其属性移除。
这样,在粘贴文本时,会先对文本进行清理,再进行粘贴操作,从而实现删除自定义标签的功能。
注意:上述代码仅适用于删除<ins>
和<hr>
标签,如果需要删除其他自定义标签,可以根据需要修改cleanText
函数中的正则表达式。