在jQuery对话框中打开jQuery WYSIWYG

时间:2009-11-23 17:00:09

标签: jquery

有没有办法在jquery对话框中加载jquery wysiwyg插件。

我试过但是当对话框打开时,编辑器会以某种方式被禁用。

3 个答案:

答案 0 :(得分:2)

您需要在打开对话框的(按钮)单击上打开它。如果在首次初始化对话框时尝试执行此操作,则无法使用。 (虽然你需要这样做(例如在你的document.ready函数中;因此初始化它两次)。 因此,在对话框打开事件中,您可以使用以下内容:

$("#diaTemplate").dialog({
    width: 810,
    height: 700,
    modal: true,
    open: function(event, ui) {
        $("#divTemplate").html("<textarea cols='50' rows='12' tabindex='100' id='txtTemplate'></textarea>");
        $('#txtTemplate').wysiwyg({
            css: 'skin.css',
            rmFormat: true,
            controls: { html: { visible: true} }
        });
    },
    close: function(event, ui) {
        $("#divTemplate").html("");
    }
}).dialog("option", "title", "Add New Template").dialog("open");

请注意,您还必须动态创建文本区域。

答案 1 :(得分:1)

我之前遇到过codemirror的这个问题。在对话框打开之后才能实例化wysiwyg,如果关闭它,则必须在对话框打开时再次实例化wysiwyg。

它与隐藏iframe以及浏览器在重新进入视图时如何解释它们有关。

答案 2 :(得分:0)

当你将两者结合在一起时,听起来可能会混合名称空间,类或id。确保你的jquery代码没有覆盖其他代码块的其他部分。

祝你好运!