簡體   English   中英

TinyMCE:按需顯示和隱藏嵌入式工具欄

[英]TinyMCE: show and hide inline toolbar on demand

我使用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>

因此,單擊類為“ editable”的div將顯示TinyMCE內聯編輯器。 我想通過單擊按鈕來顯示和隱藏它,就像這樣

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

我准備了一個顯示默認行為的jsfiddle

請幫我找到一種顯示和隱藏內聯編輯器的方法,以適應不同的div。

在tinymce內聯模式下,我簡單地使用:

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

我很確定您已經找到問題的答案。 由於我很難找到確切的答案,所以這就是我最后所做的。

我的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循環之前,我將重點放在另一個輸入元素上。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM