Oracle Apex 22.2.1富文本编辑器无法配置只读模式求助
Oracle Apex 22.2.1富文本编辑器只读模式配置报错问题
我使用Oracle Apex 22.2.1版本的富文本编辑器,编写了如下初始化代码:
function(options){ // 禁用自动格式化功能 options.editorOptions.removePlugins.push('Autoformat'); options.editorOptions.enableReadOnlyMode( 'my-feature-id' ); // 也曾替换为true // 应用自定义工具栏 options.editorOptions.toolbar = [ 'heading', 'bulletedList', 'numberedList', 'fontSize', 'undo', 'redo' ]; return options; }
尝试传入ID或布尔值true调用enableReadOnlyMode配置只读模式时,均出现如下错误:
TypeError: options.editorOptions.enableReadOnlyMode is not a function
请问我遗漏了什么配置?
问题原因及解决方法
enableReadOnlyMode是CKEditor编辑器实例对象的方法,并非初始化配置对象options.editorOptions的属性或方法,你在编辑器实例化前就调用该方法,自然会报错。
解决方式1:初始化时直接设置全局只读
如果只需要全局只读,直接在配置对象中添加readOnly属性即可:
function(options){ // 禁用自动格式化功能 options.editorOptions.removePlugins.push('Autoformat'); // 初始化时设置全局只读 options.editorOptions.readOnly = true; // 应用自定义工具栏 options.editorOptions.toolbar = [ 'heading', 'bulletedList', 'numberedList', 'fontSize', 'undo', 'redo' ]; return options; }
解决方式2:通过特性ID控制只读(实例化后调用方法)
如果需要基于特定特性ID控制只读范围,要在编辑器实例化完成后调用enableReadOnlyMode,可以通过配置中的listeners监听ready事件实现:
function(options){ // 禁用自动格式化功能 options.editorOptions.removePlugins.push('Autoformat'); // 应用自定义工具栏 options.editorOptions.toolbar = [ 'heading', 'bulletedList', 'numberedList', 'fontSize', 'undo', 'redo' ]; // 监听编辑器初始化完成事件,实例化后调用只读方法 options.editorOptions.listeners = { ready: function(editor) { editor.enableReadOnlyMode('my-feature-id'); } }; return options; }
内容的提问来源于stack exchange,提问作者Android
相关产品推荐
相关产品推荐

