TinyMCE - 在fancyboxm中第二次加载时未定义'e','j','t'

时间:2010-12-16 06:04:03

标签: jquery tinymce fancybox

上午。

我目前正在尝试为我的应用添加快速编辑功能。我只使用fancybox传递数据,并将适当的数据加载到tinymce中。

问题是,一旦我第一次关闭了fancybox并转移到第二个项目进行编辑和点击,所有内容都可以正常加载(包括tinyMCE),但是我无法在wysiwyg编辑器中使用firebug显示undefined来编辑e'或't'或'd'无论哪一个决定展示......

任何帮助都会非常感激。

修改

try{
    function remove_mce(){
        tinyMCE.execCommand('mceRemoveControl',false,'elm1');   
    }
    $('#tree a').bind('click', function(){
        $('#tree ul li ul').removeClass('showBranch');
        var ob = $(this);
        var ob_parent = ob.parent('li');
        ob_parent.removeClass('branch').addClass('branch-open');
        ob.parents('ul').addClass('showBranch');
        $('~ li', ob_parent).children(':first').addClass('showBranch');
        return false;
    });
    $("#tree .product a").fancybox({
        'autoDimensions':   false,
        'width'         :   '750',
        'height'        :   '90%',
        'transitionIn'  :   'elastic',
        'transitionOut' :   'elastic',
        'speedIn'       :   600, 
        'speedOut'      :   200, 
        'overlayShow'   :   true,
        'hideOnOverlayClick' : false,
        'onCleanup'     :   remove_mce()
    });
}catch(err){alert(err.message);}

1 个答案:

答案 0 :(得分:2)

如果TinyMCE的控件被其他东西删除然后重新打开,那么TinyMCE会遇到问题,因为fancybox似乎正在这样做。

如果可能,您应该在使用以下命令打开fancybox时创建TinyMCE控件:

tinyMCE.execCommand('mceAddControl', false, "control id here");

然后当关闭fancybox时也关闭TinyMCE控件:

tinyMCE.execCommand('mceRemoveControl', false, "control id here");