2016-11-22 10 views
0

私は、非標準テーマ(例えば、雪やバブルではない)へのリンクツールチップの実装方法に関するガイダンスについてはドキュメントを検索してきましたが、ドキュメント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のときにリンクエディタツールチップを表示するカスタムハンドラを追加します。 valueがtrueの場合、APIを呼び出してリンクを削除します。

+0

お返事ありがとうございます!残念ながら、あなたが描く行動は私の経験ではありません。エディタでテキストを選択してリンクボタンをクリックすると、ハンドラ関数の 'value'は* always *' false'です。エディタで選択したテキストにすでにリンクがあるかどうかは関係ありません。エディタのインスタンスを正しく設定していませんか? – Squrler

+0

申し訳ありませんが値が正しくありませんでしたが、あなたのコードはChromeで間違いなく動作します:http://codepen.io/quill/pen/Wojmrv – jhchen

関連する問題