小编ema*_*lva的帖子

如何在quilljs中制作不可选择的嵌入自定义格式

我想创建一个自定义嵌入格式,可以设置样式,但它的文本无法更改.我的用例非常类似于标签的情况.我想有一个外部按钮,它会在编辑器上为当前选定的范围添加一个#标签.但是在这样做之后我希望hashtag表现为"块",这样用户就不能去那里并改变它的文本.

我能做到这一点的唯一方法是说格式的节点是contenteditable = false但是我不确定我是否正确的方式,因为我对这种方法有一些问题,主要是:

如果主题标签是编辑器中的最后一个东西我无法移动它(用箭头或光标)双击它以选择应该选择整个事物(而不是单个单词)(用于样式)如果光标紧跟在标签后面,按下右键并写入将在主题标签内写入您可以检查我在尝试此时所做的代码:

  Quill.import('blots/embed');
  class QuillHashtag extends Embed {
    static create(value) {
      let node = super.create(value);
      node.innerHTML = `<span contenteditable=false>#${value}</span>`;
      return node;
    }
  }
  QuillHashtag.blotName = 'hashtag'; 
  QuillHashtag.className = 'quill-hashtag';
  QuillHashtag.tagName = 'span';
Run Code Online (Sandbox Code Playgroud)

这是完整的代码:http://codepen.io/emanuelbsilva/pen/Zpmmzv

如果你们能给我任何关于如何实现这一目标的提示,我会很高兴的.

谢谢.

quill

14
推荐指数
1
解决办法
1044
查看次数

标签 统计

quill ×1