2016-11-22 123 views
0

我一直在搜索文档以获取关于如何实现链接工具提示到非标准主题(例如,不是雪或泡泡)的指导,但我遇到了问题。将Quill链接工具提示添加到自定义主题中很困难

通过文档here阅读使我觉得我需要初始化奎尔的实例时,处理程序对象添加到modules.toolbar,像这样:

 let editor = new Quill(`#${id}-editor`, { 
      bounds: element[0], 
      formats: 
       without(
        ctrl.formats() ? 
         ctrl.formats() 
        : formats, 
        'paste', 
        'fullscreen' 
       ), 
      modules: { 
       toolbar: { 
       container: `#${id}-toolbar`, 
        handlers: { 
         link: (value) => { 
           if (value) { 
            let href = 'http://www.google.nl'; 
            editor.format('link', href); 
           } else { 
            editor.format('link', false); 
           } 
         } 
        } 
       } 
      } 
     }); 

在我的实例的处理程序函数不会被调用时按下工具栏中的链接按钮,但value始终为false。为什么?

回答

0

当单击工具栏按钮时调用handlers。传入的value参数是真或假,具体取决于该格式是否存在于当前选择范围内。因此,如果用户突出显示现有链接并单击链接按钮,则value将为false。否则,这将是事实。如果按钮具有data-value属性,但它与您的问题无关,则它可以是非布尔值。

所以在Snow中,例如,当value为真时,它会添加一个自定义处理程序来显示链接编辑器工具提示。当值为true时,它只是调用API来删除链接。

+0

感谢您的回答!不幸的是,你描述的行为不是我的经验。当我在编辑器中选择一些文本并单击链接按钮时,处理函数中的'value'总是* false *。无论我在编辑器中选择的文本是否已经有链接都没关系。我没有正确配置编辑器的实例吗? – Squrler

+0

抱歉,我的值不正确,但您的代码绝对适用于Chrome:http://codepen.io/quill/pen/Wojmrv – jhchen

相关问题