Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何单击TinyMCE工具栏';以编程方式打开按钮?_Javascript_Tinymce - Fatal编程技术网

Javascript 如何单击TinyMCE工具栏';以编程方式打开按钮?

Javascript 如何单击TinyMCE工具栏';以编程方式打开按钮?,javascript,tinymce,Javascript,Tinymce,我想让预览按钮和提交按钮旁边的表单按钮一样(就像大多数情况下的“发布新主题”表单一样)。如何以编程方式模拟工具栏的预览按钮单击 我尝试了$(“#文章_body_preview”)。单击(),但没有成功。(我使用jQuery库和#article_body_preview是工具栏的预览按钮元素)tinyMCE.activeEditor.execCommand('commandName') 其中,commandName是注册到预览按钮的命令。我自己也有类似的问题。您可以在插件的源代码中找到命令的名称。

我想让预览按钮和提交按钮旁边的表单按钮一样(就像大多数情况下的“发布新主题”表单一样)。如何以编程方式模拟工具栏的预览按钮单击


我尝试了
$(“#文章_body_preview”)。单击()
,但没有成功。(我使用jQuery库和#article_body_preview是工具栏的预览按钮元素)

tinyMCE.activeEditor.execCommand('commandName')


其中,
commandName
是注册到预览按钮的命令。

我自己也有类似的问题。您可以在插件的源代码中找到命令的名称。例如,对于预览插件,源代码位于jscript/tiny\u mce/plugins/preview/editor\u plugin\u src.js中 查找第37行:

因此,命令名不是“preview”,而是“mcePreview

我想在init上设置全屏模式。我最后加了

init_instance_callback : 'resizeEditorBox' 
初始化

resizeEditorBox = function (editor) {
            setTimeout("tinyMCE.activeEditor.execCommand('mceFullScreen')", 100);
}
在初始化和注释之前:

//                    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中-因为我不需要任何其他模式,只需要全屏模式。希望有帮助。

我想补充一点,我还需要将按钮设置为活动(突出显示)。我使用此代码来完成以下任务:

tinyMCE.activeEditor.controlManager.setActive('spellchecker', true);
将拼写检查器替换为在TinyMCE init上的“主题”“高级”按钮中设置的工具栏选项名称

干杯

顺便说一下,如果您想在默认情况下打开按钮,这里有一个论坛帖子,它可能会帮助您:

要从您想要执行的下一步操作的位置触发单击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;
        });

我知道这是一个老问题,但我在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(); }
            }
        ]
    });

});

它适用于某些按钮,但不适用于其他按钮。也许有人误解了“命令名”是什么。我尝试了tinyMCE.activeEditor.execCommand(“预览”);但这并没有奏效。我用的是标准的预览插件的按钮,先生,你是圣人。
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(); }
            }
        ]
    });

});