2009-11-20 142 views
2

我想按照提交按鈕旁邊的常規表單按鈕來製作預覽按鈕(因爲它在大多數情況下都是「發佈新主題」表單)。如何以編程方式模擬工具欄的預覽按鈕單擊?我試過$('#article_body_preview').click()但它沒有工作。 (我使用jQuery lib和#article_body_preview是工具欄上的預覽按鈕元素)如何以編程方式點擊TinyMCE工具欄的按鈕?

回答

4

我自己也有類似的問題。您可以在插件的源代碼中找到命令的名稱。例如。預覽插件的源代碼在jscripts/tiny_mce /插件/預覽/ editor_plugin_src.js 查找線#37:

ed.addButton('preview', {title : 'preview.preview_desc', cmd : 'mcePreview'}); 

於是命令名稱不是 '預覽',而是 'mcePreview'。

我想在init上設置全屏模式。我結束了添加

init_instance_callback : 'resizeEditorBox' 

初始化。

resizeEditorBox = function (editor) { 
      setTimeout("tinyMCE.activeEditor.execCommand('mceFullScreen')", 100); 
} 

前init和註釋掉:

//     a.win.setTimeout(function() { 
//      tinymce.dom.Event.remove(a.win, "resize", e.resizeFunc); 
//      tinyMCE.get(c.getParam("fullscreen_editor_id")).setContent(c.getContent({format:"raw"}), {format:"raw"}); 
//      tinyMCE.remove(c); 
//      a.remove("mce_fullscreen_container"); 
//      i.style.overflow = c.getParam("fullscreen_html_overflow"); 
//      a.setStyle(a.doc.body, "overflow", c.getParam("fullscreen_overflow")); 
//      a.win.scrollTo(c.getParam("fullscreen_scrollx"), c.getParam("fullscreen_scrolly")); 
//      tinyMCE.settings = tinyMCE.oldSettings 
//     }, 10) 
在editor_plugin.js

- 因爲我不需要任何其他的模式,只是全屏模式。希望有所幫助。

+0

它的工作原理!謝謝 – HongKilDong 2010-03-29 05:04:49

3

tinyMCE.activeEditor.execCommand('commandName');

其中commandName是註冊到預覽按鈕的命令。

+0

它適用於一些按鈕,但不爲其他。也許有誤解「命令名」是什麼。我嘗試了tinyMCE.activeEditor.execCommand('preview');但它並沒有做到這一點。我使用標準預覽插件的按鈕 – HongKilDong 2009-11-25 11:29:28

1

我想補充一點,我還需要設置按鈕激活(突出顯示)。我用這個代碼來實現:

tinyMCE.activeEditor.controlManager.setActive('spellchecker', true); 

替換爲您在TinyMCE的初始化設置theme_advanced_buttons在工具欄選項名稱拼寫檢查。

乾杯!

順便說一句,如果你想打開默認的按鈕,有一個論壇的帖子在這裏,它可以幫助你: http://www.tinymce.com/forum/viewtopic.php?pid=95893#p95893

0

Button creation example

要觸發點擊TinyMCE的按鈕從什麼地方你希望下一步:

jQuery(".js_inpost_gallery_insert_shortcode").click(function() { 
      tinyMCE.get(tinyMCE.activeEditor.editorId).controlManager.get(tinyMCE.activeEditor.editorId + "_" + 'pn_tinymce_button').settings.onclick(); 
      return false; 
     }); 
4

我知道這是一個老問題,但我有同樣的問題與TinyMCE的4,並不能得到任何解決方案的上述工作。這爲我工作:

tinyMCE.activeEditor.buttons.charmap.onclick(); 

因此,例如,我試圖創建一個插件,其中包括一些內置的命令自定義菜單:

tinymce.PluginManager.add('myplugin', function(editor) { 

    editor.addButton('mymenu', { 
     type: 'menubutton', 
     text: 'Insert', 
     icon: false, 
     menu: [ 
      { 
       text: 'Special Character', 
       icon: 'charmap', 
       onclick: function() { editor.buttons.charmap.onclick(); } 
      } 
     ] 
    }); 

}); 
+0

你先生,是聖人。 – user382738 2018-01-03 18:32:33

相關問題