Oracle APEX:富文本编辑器在 jQuery 对话框中不起作用



我正在使用APEX 4.2.4,我尝试创建一个包含Rick文本编辑器(CKEditor3)的对话框。

我在一个区域(区域id: #notification)中添加了一个富文本编辑器字段,并将style="display:none;"设置为该区域。然后我有一个按钮,当点击时,它执行以下JS代码并触发模态:

function notification() {
  var jqDialog = $('#notification').dialog(
    { modal: true,
      autoOpen: true,
      width: '500px',
      closeOnEscape: true
    });
}

当按钮被点击时,模态打开,但编辑器的iframe是空的(不能点击它并添加内容)。

如果我从模态中删除编辑器,并正常加载页面,我看到编辑器,它是可编辑的,没有问题。但是从我隐藏它的那一刻起(无论是用display:none;还是visibility:hidden;),然后使用模态来显示它,它将不再是可编辑的。

它不能在Firefox 27.0.1和Chrome 33.0.1750.154 m中运行,但可以在IE 10和11中运行

很可能是一个bug,在http://bugs.jqueryui.com/ticket/4727中有描述。但对我来说,这个解决方案行不通。由于顶点的性质,不可能将jquery-ui-dialog-patch-ckeditor.js文件立即放在

标签。唯一可行的解决方案是:
  1. 在"页面属性"区域"当页面加载时执行"中写:

    $('#notification').dialog({
        modal: true,
        autoOpen: true,
        width: 500,
        closeOnEscape: true,
        autoOpen: false
    });
    
  2. 然后,在你的动态动作中,当你的按钮'click'事件时,你可以重新定义对话框选项并打开对话框:

    $('#notification').dialog({
        modal: true,
        autoOpen: true,
        width: 700,
        height: 400,
        closeOnEscape: true,
        autoOpen: false
    });
    $('#notification').dialog("open");
    

它适用于所有现代浏览器,包括IE 10和11。

相关内容

  • 没有找到相关文章

最新更新