如何以编程方式单击TinyMCE工具栏的按钮?

Hon*_*ong 4 javascript tinymce

我想在提交按钮旁边按照惯例制作预览按钮(因为它在大多数情况下都是"发布新主题"表单).如何以编程方式模拟工具栏的预览按钮单击?

我试过$('#article_body_preview').click()但它没用.(我使用jQuery lib和#article_body_preview是工具栏的预览按钮元素)

Jac*_*ght 7

我知道这是一个老问题,但我在使用 tinyMCE 4 时遇到了同样的问题,并且无法使用上述任何解决方案。这对我有用:

tinyMCE.activeEditor.buttons.charmap.onclick();
Run Code Online (Sandbox Code Playgroud)

例如,我试图在包含一些内置命令的插件中创建自定义菜单:

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(); }
            }
        ]
    });

});
Run Code Online (Sandbox Code Playgroud)


Vit*_*ich 6

我自己也有类似的问题.您可以在插件的源代码中找到命令的名称.例如.对于预览插件,源代码位于jscripts/tiny_mce/plugins/preview/editor_plugin_src.js中寻找第37行:

ed.addButton('preview', {title : 'preview.preview_desc', cmd : 'mcePreview'});
Run Code Online (Sandbox Code Playgroud)

所以命令名称不是'预览'而是' mcePreview '.

我想在init上设置全屏模式.我最后补充说

init_instance_callback : 'resizeEditorBox' 
Run Code Online (Sandbox Code Playgroud)

到初始.

resizeEditorBox = function (editor) {
            setTimeout("tinyMCE.activeEditor.execCommand('mceFullScreen')", 100);
}
Run Code Online (Sandbox Code Playgroud)

在初始化和评论之前:

//                    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)
Run Code Online (Sandbox Code Playgroud)

在editor_plugin.js中 - 因为我不需要任何其他模式,只需要全屏模式.希望有所帮助.


mja*_*gda 5

tinyMCE.activeEditor.execCommand('commandName');

commandName预览按钮上注册的命令在哪里。