2015-06-06 85 views
0

我使用TinyMCE編輯內容。 我初始化它以下列方式TinyMCE:按需顯示和隱藏內聯工具欄

<script type="text/javascript"> 
tinymce.init({ 
    selector: "div.editable", 
    inline: true, 
    plugins: [ 
     "advlist autolink lists link image charmap print preview anchor", 
     "searchreplace visualblocks code fullscreen", 
     "insertdatetime media table contextmenu paste" 
    ], 
    toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image" 
}); 
</script> 

因此,點擊與類的div「編輯」將顯示TinyMCE的行內編輯器。 我想展示,並通過點擊按鈕將其隱藏,這樣的事情

<input type="button" value="show inline editor for some div" onclick='tinymce.somediv.show()'> 

我準備了一個jsfiddle顯示的默認行爲。

請幫助我找到一種方法來顯示和隱藏內聯編輯器按需要爲不同的div。

+0

您可以將TinyMCE的 「按需加載」。看看這裏:http://www.tinymce.com/tryit/3_x/load_on_demand.php – tvgemert

回答

0

我很確定你已經找到了你的問題的答案。由於我找到確切的答案有點困難,所以我最後做了這些。

我的TinyMCE的4.0.1版

顯示:

tinymce.init({ 
    selector: "div.editable", 
    inline: true, 
    plugins: [ 
     "advlist autolink lists link image charmap print preview anchor", 
     "searchreplace visualblocks code fullscreen", 
     "insertdatetime media table contextmenu paste" 
    ], 
    toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image" 
}); 

隱藏(只隱藏內嵌編輯):

$("#some_input_element").trigger("focus");// to remove focus from active editors 
for (var i = tinymce.editors.length - 1; i >= 0; i--) { 
    if (tinymce.editors[i].inline) 
     tinymce.editors[i].remove(); 
}; 

刪除編輯器,同時具有焦點給出了意想不到的效果。因此爲了安全起見,我在進入for循環之前將注意力集中在一個不同的輸入元素上。

1

在TinyMCE的,串聯模式,我用簡單:

tinymce.EditorManager.activeEditor.getElement().blur();