放置请求后 ACE 编辑器呈现错误
ACE editor rendering error after a put request
在 'put' 请求更新对象字段(使用 django rest framework, which makes use of Ajax Form 用于 PUT/PATCH/DELETE/OPTIONS 方法)后,我遇到了 ACE 编辑器问题。
我目前在表单中隐藏一个文本区域并替换为 ace 编辑器,在更改时使用编辑器的内容更新文本区域。
但是,在 put 上 - 发生以下情况
变成
我不确定发生了什么。可能是 ace/css/ace_editor.css 没有加载,但我不确定为什么会发生这种情况......
如有任何帮助,我们将不胜感激!
$(function () {
$('textarea[name=SQL]').each(function () {
console.log('new editor');
$('form').find('textarea[name=SQL]').attr('id','textarea-code');
$('#textarea-code').parent().append('<div id="ace-editor" class="ace-editor-class" style="height: auto;min-height:100px"></div>');
var editor = ace.edit("ace-editor");
editor.setTheme("ace/theme/crimson_editor");
editor.getSession().setMode("ace/mode/sql");
var textarea = $('#textarea-code').css('display', 'none');
editor.getSession().setValue(textarea.val());
editor.getSession().on('change', function(){
textarea.val(editor.getSession().getValue());
editor.resize(true);
});
});
});
临时解决方案:
编辑器似乎缺少一些重要的 css (.ace_editor)。解决方案是复制 ace.js 的第 14388 行:
var editorCss = ".ace_editor {\ ...
进入本地 css 文件(先删除所有 \)。
在 'put' 请求更新对象字段(使用 django rest framework, which makes use of Ajax Form 用于 PUT/PATCH/DELETE/OPTIONS 方法)后,我遇到了 ACE 编辑器问题。
我目前在表单中隐藏一个文本区域并替换为 ace 编辑器,在更改时使用编辑器的内容更新文本区域。
但是,在 put 上 - 发生以下情况
变成
我不确定发生了什么。可能是 ace/css/ace_editor.css 没有加载,但我不确定为什么会发生这种情况......
如有任何帮助,我们将不胜感激!
$(function () {
$('textarea[name=SQL]').each(function () {
console.log('new editor');
$('form').find('textarea[name=SQL]').attr('id','textarea-code');
$('#textarea-code').parent().append('<div id="ace-editor" class="ace-editor-class" style="height: auto;min-height:100px"></div>');
var editor = ace.edit("ace-editor");
editor.setTheme("ace/theme/crimson_editor");
editor.getSession().setMode("ace/mode/sql");
var textarea = $('#textarea-code').css('display', 'none');
editor.getSession().setValue(textarea.val());
editor.getSession().on('change', function(){
textarea.val(editor.getSession().getValue());
editor.resize(true);
});
});
});
临时解决方案: 编辑器似乎缺少一些重要的 css (.ace_editor)。解决方案是复制 ace.js 的第 14388 行:
var editorCss = ".ace_editor {\ ...
进入本地 css 文件(先删除所有 \)。