我是ACE
第一次使用编辑器。我有以下与之相关的问题。
如何
ACE
在页面上找到编辑器实例?我不想维护将保存编辑器实例的全局变量。我需要按需查找其实例。如何获得并设置其价值?
对于愿意提供比ACE
几乎所有类型的Language / markup / css等支持并与高度集成的Editor更好的编辑器,我乐于提出建议jQuery
。
我是ACE
第一次使用编辑器。我有以下与之相关的问题。
如何
ACE
在页面上找到编辑器实例?我不想维护将保存编辑器实例的全局变量。我需要按需查找其实例。如何获得并设置其价值?
对于愿意提供比ACE
几乎所有类型的Language / markup / css等支持并与高度集成的Editor更好的编辑器,我乐于提出建议jQuery
。
Answers:
根据他们的API:
标记:
<div id="aceEditor" style="height: 500px; width: 500px">some text</div>
查找实例:
var editor = ace.edit("aceEditor");
获取/设置值:
var code = editor.getValue();
editor.setValue("new code here");
根据我的经验,Ace是我见过的最好的代码编辑器。几乎没有其他代码,例如CodeMirror等,但是我发现它们比Ace有用或难以集成。
还有一个我还没有尝试过的付费游戏(我现在不记得了)。如果我能找到,将在以后更新。
ace
对象是从哪里来的?它在哪里定义?
为了保存编辑器的内容,我在其之前放置了一个隐藏的输入,并按如下方式初始化编辑器:
var $editor = $('#editor');
if ($editor.length > 0) {
var editor = ace.edit('editor');
editor.session.setMode("ace/mode/css");
$editor.closest('form').submit(function() {
var code = editor.getValue();
$editor.prev('input[type=hidden]').val(code);
});
}
提交表单后,我们将获得编辑器值并将其复制到隐藏的输入中。
我用隐藏的输入解决了这个问题:)
<input type="hidden" name="komutdosyasi" style="display: none;">
<script src="/lib/aceeditor/src-min/ace.js" type="text/javascript" charset="utf-8"></script>
<script>
var editor = ace.edit('editor');
editor.session.setMode("ace/mode/batchfile");
editor.setTheme("ace/theme/monokai");
var input = $('input[name="komutdosyasi"]');
editor.getSession().on("change", function () {
input.val(editor.getSession().getValue());
});
</script>
假设我们已经在html的标签上初始化了ace编辑器。例如:<div id="MyAceEditor">this the editor place holder</div>
。
在javascript部分中,加载ace.js后,
第一步是找到您的编辑器实例,如下所示。
var editor = ace.edit("MyAceEditor");
要从ace编辑器获取值,请使用如下的getValue()方法。
var myCode = editor.getSession().getValue();
要将值设置为ace编辑器(将一些代码推送到编辑器中),请使用setValue()
以下方法。
editor.getSession().setValue("write your code here");
使用以下代码获取ace编辑器的值,html将具有
<div id="aceEditor" style="height: 500px; width: 70%">some text</div>
然后
<script >
var some = $('#aceEditor');
some.keyup(function() {
var code = editor.getSession().getValue();
$.ajax({
type: "POST",
url: "{% url 'creatd-new' %}",
data: {'code':code},
success: function (data) {
console.log("foo");
}
});
}
</script>