Javascript js保持从锚标记中剥离类

Javascript js保持从锚标记中剥离类,javascript,wysiwyg,quill,Javascript,Wysiwyg,Quill,我已经编写了一个自定义链接模块来处理内部链接等。该模块还向a标记添加了一些类,因此它们可以以不同的方式显示。 但是一旦再次实例化,Quill就会删除这些类 我已经发现你需要一个自定义属性。但是我不能让它工作。 为了保持思维简单,我创造了 代码如下: 从“纬管”导入纬管; 导入“羽毛膏智能”; 导入“quill/dist/quill.snow.css”; 常量羊皮纸=羽毛笔进口(“羊皮纸”); 让LinkClass=新的羊皮纸.attributer.Class(“link”,“ql link”

我已经编写了一个自定义链接模块来处理内部链接等。该模块还向a标记添加了一些类,因此它们可以以不同的方式显示。 但是一旦再次实例化,Quill就会删除这些类

我已经发现你需要一个自定义属性。但是我不能让它工作。
为了保持思维简单,我创造了

代码如下:


从“纬管”导入纬管;
导入“羽毛膏智能”;
导入“quill/dist/quill.snow.css”;
常量羊皮纸=羽毛笔进口(“羊皮纸”);
让LinkClass=新的羊皮纸.attributer.Class(“link”,“ql link”{
范围:羊皮纸.scope.INLINE,
白名单:[“btn”]
});
Quill.register({“attributers/class/link”:LinkClass},true);
新羽毛笔(“编辑”{
主题:“雪”,
模块:{
工具栏:[“粗体”、“斜体”、“下划线”、“链接”、“清除”]
}
});

您还需要使用
Inline
类将该元素添加到Quill实例的侧面

以下是一个例子:

const Inline=Quill.import(“blots/Inline”);
InternalLink.blotName=“内部链接”;
InternalLink.className=“btn”;
InternalLink.tagName=“A”;
羽毛套({
“属性/类/链接”:LinkClass,
“格式/内部链接”:内部链接
});

我不认为这些文档有帮助,但下面是一个示例,它也有帮助:


您还需要使用
Inline
类将该元素添加到Quill实例的侧面

以下是一个例子:

const Inline=Quill.import(“blots/Inline”);
InternalLink.blotName=“内部链接”;
InternalLink.className=“btn”;
InternalLink.tagName=“A”;
羽毛套({
“属性/类/链接”:LinkClass,
“格式/内部链接”:内部链接
});

我不认为这些文档有帮助,但下面是一个示例,它也有帮助:


    • 不幸的是,公认的答案并不能完全解决我的问题。
      我正在寻找一种可能的方法来添加/保留多个类

      以下是最终解决方案:

      const Inline=Quill.import(“blots/Inline”);
      常量属性=[“href”、“rel”、“target”、“class”];
      类InternalLink扩展内联{
      静态创建(值){
      让node=super.create(value);
      node.setAttribute(“href”,value.href);
      if(value.rel)node.setAttribute(“rel”,value.rel);
      if(value.target)node.setAttribute(“target”,value.target);
      if(value.class)node.setAttribute(“class”,value.class);
      返回节点;
      }
      静态格式(domNode){
      返回属性。减少((格式,属性)=>{
      if(domNode.hasAttribute(属性)){
      格式[属性]=domNode.getAttribute(属性);
      }
      返回格式;
      }, {});
      }
      }
      InternalLink.blotName=“内部链接”;
      InternalLink.tagName=“A”;
      羽毛套({
      “格式/链接”:内部链接
      });
      

      不幸的是,被接受的答案并不能完全解决我的问题。
      我正在寻找一种可能的方法来添加/保留多个类

      以下是最终解决方案:

      const Inline=Quill.import(“blots/Inline”);
      常量属性=[“href”、“rel”、“target”、“class”];
      类InternalLink扩展内联{
      静态创建(值){
      让node=super.create(value);
      node.setAttribute(“href”,value.href);
      if(value.rel)node.setAttribute(“rel”,value.rel);
      if(value.target)node.setAttribute(“target”,value.target);
      if(value.class)node.setAttribute(“class”,value.class);
      返回节点;
      }
      静态格式(domNode){
      返回属性。减少((格式,属性)=>{
      if(domNode.hasAttribute(属性)){
      格式[属性]=domNode.getAttribute(属性);
      }
      返回格式;
      }, {});
      }
      }
      InternalLink.blotName=“内部链接”;
      InternalLink.tagName=“A”;
      羽毛套({
      “格式/链接”:内部链接
      });
      

      不错。非常感谢。我开始失去希望:)也许你也可以告诉我,如何允许多个类
      InternalLink.className
      不接受数组。@GordonFreeman如果你问另一个问题并在上面标记我,我会查看它。很好。非常感谢。我开始失去希望:)也许你也可以告诉我,如何允许多个类
      InternalLink.className
      不接受数组。@GordonFreeman如果你问另一个问题并在上面标记我,我会查看它。