2011-08-19 32 views
1

TinyMCE的顏色格式化被投入到跨標籤, 現在我需要在一個文本以往用戶改變顏色添加 一個額外的字符 (對於那些誰可能的方式,我需要這個奇蹟,閱讀這樣的:Inserting HTML tag in the middle of Arabic word breaks word connection (cursive)如何修改如何TinyMCE的格式文本

所以這是TinyMCE的如何normaly格式化文本:

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

這就是我需要的是:

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

所以在任何跨度之前我需要添加一個額外的字符。

我正在尋找通過TinyMCE來源,但我無法找到它在這裏組裝。

回答

1

我完全理解你對單詞木匠的需求。 根據瀏覽器,你也許可以使用CSS僞元素插入此字符 - 之前在這種情況下:http://www.w3schools.com/cssref/sel_before.asp

你TinyMCE的內容的CSS(使用TinyMCE的初始化設置content_css)應包含以下內容:

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

UPDATE:Approch2:

你可以做此項檢查,進入你的話加入者:

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 
}); 

您可能需要在特殊事件中使用自己的插件調用此函數。

+0

這是工作除字連接, 每個字符,因爲它打破了單詞,你已經看到http://stackoverflow.com/questions/7069247/css-formating-cursive-word-breaks-it。 當我在TinyMCE中顯示html時,它沒有在其中顯示插入的任何字符:before。然而,正如我以前的傷心,它是爲每個字符,除了字連接器:(:) –

+1

hmm,正確。pseudoelements將不會在保存的tinymce內容。我會考慮另一個接近和更新我的答案 – Thariama

+0

非常感謝:) –