デフォルトのツールバーが非表示になっているTinyMCEエディターがあり、それを置き換えるために独自のエディターを作成しました(office2007スタイルのcssプレビューで簡略化されています)。
コードを介したリンクの作成に問題があります(cmsによって生成されたページのリストを含む独自のjQuery UIウィンドウをロードします。これにより、コードへのURLが返されます)。
私のやり方は次のとおりです。
TinyMCEセットアップ構成に以下を追加します。
execcommand_callback : 'NEWCMS.editor.util.override'
したがって、実行されるコマンドはすべて、デフォルトの動作を実行する前にその関数を実行します。
その関数で、「mceLink」イベントかどうかを確認します(カスタムツールバーがコマンドを正しく送信するようになったので、問題はありません)。取得すると、ユーザーが選択したURLを返すウィンドウが表示されます。この時点で問題が発生します。
を使用して選択したノードを取得します
var inst = $('#jbcms_editor_textarea').tinymce();
var selectedNode = inst.selection.getNode();
しかし、予想どおり、段落のノードを返します。
私がする必要があるのは、選択範囲を<a>
タグでラップして、そのノードを使用できるようにすること<a>
ですが、これを行う方法を見つけることができません。APIを確認しましたが、探しているものが見つかりません。TinyMCEはそれを内部で使用する必要があるため、何かがあるはずです。(私もTinyMCEソースを調べてみましたが、それは私を超えています!)
誰かアイデアがありますか?
ありがとう