2012-09-24 72 views
3

我剛剛注意到TinyMCE編輯器令人討厭的行爲。當我寫了幾段文字,我想選擇其中的一部分並將其設置爲標題(標題2樣式)時,整個文本將獲得該標題樣式,而不僅僅是我選擇的文本。Tinymce將標題樣式應用於整個段落,而不僅僅是選定的文本

這不會發生,當我想應用粗體 - 在這種情況下,它按預期工作;只有選定的文本變爲粗體。

我該如何改變這種行爲?我知道HTML模式可以改變風格,但我擔心我的客戶不太熟悉HTML,他們只想使用視覺模式。

+0

您必須將標題的文本移動到它自己的段落中,然後才能打開標題樣式。 – Archonic

回答

2

這是TinyMCE的原生行爲,不能更改。

4

我想這是因爲h2標籤通常作爲段落的子節點無效。 您可以嘗試根據需要調整tinymce配置參數valid_children

0

這是我找到的解決方法。對我很好用

tinyMCE.PluginManager.add('FormatingToolbarButtons', function (editor, url) { 
['pre', 'p', 'code', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6'].forEach(function (name) { 
    editor.addButton("style-" + name, { 
     tooltip: "Toggle " + name, 
     text: name.toUpperCase(), 
     onClick: function() { 
      if (this.active()) { 
       editor.execCommand('mceToggleFormat', false, name); 
       this.active(false) 
      } 
      else { 
       editor.selection.setContent('<' + name + '>' + editor.selection.getContent() + '</' + name + '>'); 
       this.active(true) 
      } 
     }, 
     onPostRender: function() { 
      var self = this, setup = function() { 
       editor.formatter.formatChanged(name, function (state) { 
        self.active(state); 
       }); 
      }; 
      editor.formatter ? setup() : editor.on('init', setup); 
     } 
    }) 
}); 

});

相關問題