如何从tinymce contextmenu插件调用thickbox?

时间:2010-12-21 15:23:49

标签: jquery tinymce thickbox

如何在tinymce的上下文菜单中添加项目。我需要从上下文选择tinymce

打开一个厚箱
    var url = "upload.php?keepThis=true&TB_iframe=1&width=1000&height=400&model=true";
    tb_show("Edit Image", url);

我可以用上面的代码调用thickbox。我需要在contextmenu插件中重新编码。帮助我

1 个答案:

答案 0 :(得分:1)

好的,在这种情况下你需要加载contextmenu插件(在加载自定义插件之前执行此操作!)

plugins: '...,contextmenu,....,customcontextmenu,...',

以下是自己的contextmenu插件的完整示例代码。您需要将此代码放在名为“editor_plugin.js”的文件(以及名为“editor_plugin_src.js”的文件)中,该文件位于plugins目录的名为“contextmenu”的子目录中。

(function() {

  tinymce.PluginManager.requireLangPack('customcontextmenu');

  tinymce.create('tinymce.plugins.customcontextmenu', {

    init : function(ed, url) {
        ed.addCommand('custom_option', function() {
            // do what you want here!!!
        });

// we need the real contextmenu in order to make this work
if (ed && ed.plugins.contextmenu) {

        // contextmenu gets called - this is what we do
    ed.plugins.contextmenu.onContextMenu.add(function(th, m, e, col) {

        // remove all options from standard contextmenu
        m.removeAll();

        // only if selected node is an image do this
        if (typeof e !== "undefined" && e.nodeName.toLowerCase() == 'img'){

            th._menu.add({
                title: 'Option 1',
                icon: 'option1',  // you might need to specify an image here
                cmd: 'custom_option' // call command custom_option
            });

            m.addSeparator();

                        // Second option
            //m.add({
            //  title: 'Option 2',
            //  icon: 'option2',
            //  cmd: 'custom_option2'
            //});
        }
                else {
                   // you might want to hinder the display of the contextmenu in all other cases
                   // or present other options....
                }
    });
    }
   });
},

  // Register plugin
  tinymce.PluginManager.add('customcontextmenu', tinymce.plugins.customcontextmenu);


})();

确保括号设置正确(我必须复制/粘贴并删除部分代码,以免丢失括号)。