【问题标题】:Add a button after loading TinyMCE via JQuery and it's not working通过 JQuery 加载 TinyMCE 后添加一个按钮,它不起作用
【发布时间】:2010-08-15 05:39:47
【问题描述】:

我正在通过 JQuery 加载 TinyMCE,加载后,我想为其添加一个保存按钮。保存按钮正在调用一个函数,但 Firebug 说该函数未定义,在这种情况下,destroyTinyMCE() 未定义。怎么了?

$('div#introText').click(function() {
        loadTinyMCE();
        $('div#introText').after('<input value="Save" onclick="destroyTinyMCE();" type="button">');
});

function loadTinyMCE() {
//some variable
}

function destroyTinyMCE() {
       $('div#introText').tinymce().destroy();
       $('div#introText').tinymce().remove();
}

【问题讨论】:

    标签: jquery tinymce


    【解决方案1】:

    如果它在您的document.ready 处理程序中,那么destroyTinyMCE 函数的作用域仅限于它,并且在全局命名空间中查找它时(就像onclick="destroyTinyMCE();" 一样),它不会在那里。而是在创建它时附加点击处理程序,如下所示:

    $('<input value="Save" type="button">').click(destroyTinyMCE)
                                           .insertAfter('div#introText');
    

    这将正确引用该函数,并且它仍然可以隐藏在您当前所在的任何闭包中。

    【讨论】:

    • 哦,谢谢!看起来不错,但我在 Firebug 中得到了 'e.selection is null' :(
    • @everisk - 听起来像是 tinymce 内部的东西,你使用的是哪个版本?
    • 我切换到另一个编辑器,它现在可以工作了。非常感谢!
    猜你喜欢
    • 2011-10-05
    • 2022-11-05
    • 1970-01-01
    • 1970-01-01
    • 2017-09-16
    • 2021-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多