[英]Load resp. unload Plugin or MenuItem using the TinyMCE API
我正在使用TinyMCE 4.0.x,API4進行工作的項目。 我有一些簡單的自定義插件,例如:
tinymce.PluginManager.add('simplePlugin', function(editor, url) {
editor.addButton('simplePluginButton', {
text: 'Simple Example',
icon: false,
onclick: function() { alert('Do something...'); } });
editor.addMenuItem('simplePluginMenuItem', {
text: 'Simple Example',
context: 'tools',
onclick: function() { alert('Do something...'); } });
});
我要加載 resp。 使用TinyMCE API和按鈕resp即時卸載 Plugin-MenuItem和Plugin-Button (或Plugin !!)。 項目響應 插件名稱(在我的情況下為simplePluginMenuItem和simplePluginButton或simplePlugin )。
我面臨的問題是我無法使用API來訪問/查找插件或MenuItem /工具欄按鈕!
我嘗試了不同的方法,但沒有成功! 例如:
tinymce.activeEditor.plugins
獲取和修改插件列表,但是如何使用API重新加載編輯器? tinymce.ui
命名空間具有MenuItem
類,該類具有remove
方法 -如何通過API查找MenuItem? 當我調用tinymce.activeEditor.editorManager.ui.Menu
我正在獲取類,而不是當前菜單實例! 有沒有一種使用API檢索當前菜單實例的方法? 我想念什么嗎? 是否有使用API檢索MenuItem
或ToolbarButton
或者該API僅可用於創建新的編輯器項。 組件?
像這樣的偽代碼 :
tinymce.activeEditor.getActiveMenu.findMenuItem('simplePluginMenuItem').remove();
我找到了這個舊的SO帖子 ,但是在那時(2009年),有人問這個問題,API版本4.0.x尚未發布。
我發現的一種可能的解決方案是提供自定義插件的工具欄按鈕和菜單項,其中包含div元素的唯一ID:
tinymce.PluginManager.add('simplePlugin', function(editor, url) {
editor.addButton('simplePluginButton', {
id : 'simplePluginButton001',
text: 'Simple Example',
icon: false,
onclick: function() { alert('Do something...'); } });
editor.addMenuItem('simplePluginMenuItem', {
id : 'simplePluginMenuItem001',
text: 'Simple Example',
context: 'tools',
onclick: function() { alert('Do something...'); } });
});
現在,TinyMCE編輯器中生成的HTML代碼如下所示:
<div id="simplePluginButton001"
role="button"
class="mce-widget mce-btn mce-first mce-last"
tabindex="-1"
aria-labelledby="simplePluginButton001">
<button
role="presentation"
type="button"
tabindex="-1">
Simple Example
</button>
</div>
並且div元素容器可以直接檢索和操作(例如使用jQuery):
var pluginToolbarButton = $("#simplePluginButton001");
pluginToolbarButton.hide();
//pluginToolbarButton.show();
//pluginToolbarButton.remove();
這對於我的情況來說很好用-我可以建立菜單項列表。 工具欄按鈕ID,應使其不可見。 可見。
不過,我希望我可以使用API進行此類操作-IMO更加優雅,而且似乎是正確的 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.