2011-02-24 81 views
1

說我想在初始化編輯器時默認選擇'bold'選項。我會怎麼做?默認情況下是否有任何方式選擇TinyMCE選項?

編輯:解決方案與Thariama回答如下。我發現,不捨的<p>標籤在那裏與選擇其他選項,比如標題不同的擰緊,和我有我爲了做這個這個特殊的編輯器不需要一個<p>標籤在默認情況下得到<h1>

setup: function(ed) { 
    ed.onInit.add(function(ed) { 
     if ($('p', ed.getDoc()).length > 0) { 
      $('p', ed.getDoc()).remove(); 
      $('<h1><br mce_bogus="1" /></h1>').appendTo($('body', ed.getDoc())); 
     } 
    }); 
} 

即使用戶在選擇中的選擇選項之間跳轉,此功能也很適用。

編輯2:這似乎工作,如果你確實需要<p>標籤。這使得大膽默認:

setup: function(ed) { 
    ed.onInit.add(function(ed) { 
     if ($('p', ed.getDoc()).children().length == 1 && $('p', ed.getDoc()).children(':first').is('br')) { 
      $('p', ed.getDoc()).html('<b><br mce_bogus="1" /></b>'); 
     } 
    }); 
} 

回答

0

選擇的程序取決於許多因素。如果你有一個空的TinyMCE的編輯器,你可以初始化以下內容

<p><strong><strong></p> 

請更新您對您的使用案例的問題編輯器。

編輯:這可能對你更好。將此處理程序添加到您自己的插件之一中。 它檢查所有段落(如果你的tinymce使用div你需要改變這段代碼) 並將內部HTML包裝成b-tags(你可能想使用strong-tags)。

ed.onInit.add(function(ed){ 
     ps = ed.getDoc().getElementsByTagName('p'); 
     for (var i=0; i < ps.length ; i++) { 
      ps[i].innerHTML = '<b>'+ps[i].innerHTML+'</b>'; 
     } 
    }); 

你是不是使用自己的插件,但初始化TinyMCE的時候使用設置參數的另一種選擇:

setup : function(ed) { 

    ed.onInit.add(function(ed){ 
     ps = ed.getDoc().getElementsByTagName('p'); 
     for (var i=0; i < ps.length ; i++) { 
      ps[i].innerHTML = '<b>'+ps[i].innerHTML+'</b>'; 
     } 
    }); 
}, 
+1

它可以是空的,它可以初始化內容。我正在使用類似於你現在建議的內容,除非標籤是空的,因爲它沒有爲我工作。我一直在中間使用零寬度空間(8203),但會導致其他問題,這就是爲什麼我不想使用這種方法。另外,通過這種方法,工具欄中的選項沒有被使用,這實際上應該是可能的。我真的想在編輯器初始化後的某個時刻觸發選項,就好像用戶點擊了該選項一樣。 – chris 2011-02-25 08:31:48

+0

你是正確的,你做了正確的事情插入空格字符。我編輯了我的文章,提出的解決方案應該以優雅的方式解決您的問題。 – Thariama 2011-02-25 08:50:00

+1

是的,我把它放在設置。這非常出色。非常感謝! – chris 2011-02-25 08:56:02

1

而不是當用戶輸入它這樣做,爲什麼不輸出將數據輸出到tinyMCE之外的用戶時,是否使用粗體標記中的值?這樣,用戶無法像覆蓋標籤一樣覆蓋該選項。另外,如果您在用戶首先在Microsoft Word中生成代碼的環境中使用TinyMCE作爲wysiwg網頁編輯器,則在通過粘貼獲取「垃圾」字代碼時會遇到重大問題。 Tiny的解決方案是一個「粘貼詞」按鈕,用戶似乎經常忽略 - 我已經在50多個商業網站中部署了Tiny,這對於大多數使用這些站點的客戶來說是一個主要問題。我轉到了CKEditor,它在FRONT端做了代碼剝離,並且一切都很好。人們有他們的偏好,我甚至喜歡使用微小更多。但是Word Code問題對我來說已經成爲一個破壞者,我不會再安裝Tiny了。

+0

我使用預處理選項解決了粘貼問題,並自己過濾了粘貼的內容(但在可能之前需要解決一些問題) – Thariama 2011-02-25 08:36:08

+1

用戶可以自由地不用粗體但是我希望編輯默認爲該設置。因爲它是所見即所得,如果這是你所建議的,那麼在編輯器中顯示更改是很奇怪的。哦,當談到TinyMCE並從單詞粘貼到合唱團時。很多正則表達式都被用來處理這個問題,即使是插件也是如此。 – chris 2011-02-25 08:37:25

+0

+1解決方案是一種可能的方法 – Thariama 2011-02-25 08:59:19

相關問題