1

我正在为 Wordpress 制作一个自定义 TinyMCE 按钮,部分 Javascript 代码如下所示:

(function() {
    tinymce.create('tinymce.plugins.Green', {
        init : function(ed, url) {
            ed.addButton('green', {
                title : 'Prompt Text',
                image : url+'/images/btn_green.jpg',
                onclick : function() {                    
                    var prompt_text = prompt("Green Button", "Green Button Text");
                    var caret = "caret_pos_holder";
                    var insert = "<div>" + prompt_text + "</div><span id="+caret+"></span>";
                    if (prompt_text != null && prompt_text != 'undefined')
                    {
                        ed.execCommand('mceInsertContent', false, insert);
                        ed.selection.select(ed.dom.select('span#caret_pos_holder')[0]); //select the span
                        ed.dom.remove(ed.dom.select('span#caret_pos_holder')[0]); //remove the span
                    }
                }
            });
        },
        createControl : function(n, cm) {
            return null;
        },
    });
    tinymce.PluginManager.add('green', tinymce.plugins.Green);
})();

我想删除 prompt_text 函数并添加一个单选按钮列表,其中出现一个窗口,用户可以选择列表中的一个选项。并且每个列表项都应该有其独特的insert. 这怎么可能?

例如,窗口应该有一个包含三个选项的列表:Tea、Coffee、Water

如果用户选择 Coffee,它应该插入文本:Coffee wakes you up

我对 Javascript 的了解非常有限,这阻止了我解决这个问题。但是,我认为这只能通过创建 jQuery 表单来实现?

4

1 回答 1

0

为此,您需要编写一个自己的插件。您应该查看开发人员 tinymce 构建并查看源代码,尤其是 searchreplace 插件。该插件使用 tinymce 弹出窗口,用户可以选择多个设置。我建议你复制那个插件,根据你的需要调整它并删除所有你不需要的东西。

于 2012-09-10T10:32:01.850 回答