Как изменить формат текста TinyMCE - PullRequest
1 голос
/ 19 августа 2011

Форматирование цвета TinyMCE вставляется в тег span, теперь мне нужно, чтобы когда пользователь изменял цвет текста, добавлял один дополнительный символ (для тех, кому может быть интересно, как мне это нужно, прочитайте это: Вставка тега HTML всередина арабского слова разрывает соединение слов (курсив) )

, вот как TinyMCE обычно форматирует текст:

<p><span style="color: #ff6600;">forma</span>tings</p>

вот как мне нужно:

<p>X<span style="color: #ff6600;">forma</span>tings</p>

поэтому перед любым интервалом мне нужно добавить еще один символ.

Я искал источник TinyMCE, но не смог найти, где он собирался.

1 Ответ

1 голос
/ 19 августа 2011

Я полностью понимаю вашу потребность в словаре. В зависимости от браузера вы можете вставить этот символ с помощью псевдоэлемента css - в данном случае раньше: http://www.w3schools.com/cssref/sel_before.asp

Ваше cmin содержимого tinymce (используйте параметр инициализации tinymce content_css ) должно содержать следующее:

body span:before {
    content:'\2060'; // use '\00b6' to get something visible for testing
}

ОБНОВЛЕНИЕ: Приблизительно 2:

Вы можете сделать эту проверку, чтобы ввести ваше слово joiners:

var ed = tinymce.get('content') || tinymce.editors[0];

var span = $(ed.getBody()).find('span:not(.has_word_joiner)').each(function(index) {
  ed.selection.select(this);
  ed.execCommand('mceInsertContent', false, '\u2060<span class="has_word_joiner">'+this.innerHTML+'</span>'); // you might want to add the formerspan attributes too, but that is a minor issue
});

Возможно, вам понадобится вызвать это, используя собственный плагин для специальных событий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...