哪个wysiwyg编辑器与fancybox配合得很好

Which wysiwyg editor works fine with fancybox?

本文关键字:很好 fancybox wysiwyg 编辑器 哪个      更新时间:2023-09-26

我曾经使用tinymce,但当我想把它放到fancybox时,它会引起很多麻烦(第二次启动fancybox窗口时失败)。Cleditor也不起作用(显示"true"而不是编辑器)。有没有一个编辑能在不搞任何奇怪把戏的情况下工作?

编辑:

$('.fancybox_with_wysiwyg').fancybox({padding: 1, scrolling: 'no',
        beforeShow: function () { tinymce.execCommand('mceToggleEditor', false, 'fbwysiwyg'); },
        beforeClose: function () { tinymce.EditorManager.execCommand('mceRemoveControl', true, 'fbwysiwyg'); }
    });

Edit2(固定回调)

  $('.fancybox_with_wysiwyg').fancybox({
    padding: 1,
    scrolling: 'no',
        onComplete : function() {
            tinyMCE.execCommand('mceToggleEditor', false, 'fbwysiwyg');
   },
        onCleanup : function() {
            tinyMCE.execCommand('mceRemoveControl', false, 'fbwysiwyg' );
    }        
});

解决方案(感谢Thariama)

    $('.fancybox_with_wysiwyg').fancybox({padding: 1, scrolling: 'no',
            onComplete: function () { tinymce.execCommand('mceAddControl', false, 'fbwysiwyg'); },
            onClosed: function () { tinyMCE.execCommand('mceRemoveControl', false, 'fbwysiwyg' );  }
        });
>I used to work with tinymce, but it causes lot of troubles when I want to put 
>it to fancybox (fails with second start of fancybox window).

对于这种情况,简单的解决方案是在第二次重新初始化tinymce之前正确关闭它。

要关闭编辑器实例,请调用

tinyMCE.execCommand('mceRemoveControl', false, 'fbwysiwyg' ); 

更新:您需要使用

$('.fancybox_with_wysiwyg').fancybox({padding: 1, scrolling: 'no',
        beforeShow: function () { tinymce.execCommand('mceToggleEditor', false, 'fbwysiwyg'); },
        beforeClose: function () { tinyMCE.execCommand('mceRemoveControl', false, 'fbwysiwyg' );  }
    });

CKEditor的工作原理就像我今天下午一直在把它放在Fancybox里一样:)

您可能会遇到的问题是,当模式窗口插件删除并重新创建模式中的文本区域时。在这种情况下,当显示文本区域时,您需要重新绑定所见即所得。