2016-11-22 56 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

相關問題