我第一次使用ACE
編輯器。我有下面的相關問題。如何從ACE編輯器中獲得價值?
如何在網頁上找到
ACE
編輯器的實例?我不想 維護一個全局變量,它將保存編輯器實例。 I 需要按需查找其實例。如何獲取並設置其值?
我打開超過ACE
編輯器,支持幾乎所有類型的語言/標記/ CSS等,並與jQuery
高度集成更好的編輯建議。
我第一次使用ACE
編輯器。我有下面的相關問題。如何從ACE編輯器中獲得價值?
如何在網頁上找到
ACE
編輯器的實例?我不想 維護一個全局變量,它將保存編輯器實例。 I 需要按需查找其實例。如何獲取並設置其值?
我打開超過ACE
編輯器,支持幾乎所有類型的語言/標記/ CSS等,並與jQuery
高度集成更好的編輯建議。
每它們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有用或難於整合。
Here's a Wiki page for comparision of such editors。
還有一個我還沒有試過的付費產品(現在我不記得了)。如果我能找到它,稍後會更新。
Ace vs CodeMirror 1.因此,如果您需要一個非常小的編輯器,或者不喜歡ace的工作方式並希望重新實現它的大部分,Codemirror是更好的選擇。 2.但是,如果你需要一個與桌面編輯器相同的編輯器,而不需要添加300kb的自己的代碼,ace是一個更好的選擇。 – igaurav
爲了節省我才立即放在一個隱藏的輸入編輯的內容,並初始化像這樣的編輯器:
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);
});
}
當我的表單提交,我們得到的編輯值,並將其複製到隱藏輸入。
哇什麼方法..... – aswzen
讓我們假設我們已經在html中的標籤上初始化了ace編輯器。 EX:<div id="MyAceEditor">this the editor place holder</div>
。
在JavaScript部分,裝載ace.js後,
第一步是下面找到你的編輯器的實例。
var editor = ace.edit("MyAceEditor");
要從ace編輯器獲取值,請使用getValue()方法,如下所示。
var myCode = editor.getSession().getValue();
要設置的值以王牌編輯器(推一些代碼到編輯器),可以使用如下方法setValue()
。
editor.getSession().setValue("write your code here");
我解決這個問題有隱藏的輸入:)
<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>
哦,什麼亂七八糟的。現在稱爲「ace」的編輯器爲Cloud9 IDE提供支持([tag:cloud9-ide])。編輯引擎以前被稱爲Skywriter([tag:skywriter]),而* *以前被稱爲Bespin([tag:bespin],[tag:embedded-bespin])。令人煩惱的是,當前的[tag:ace]標籤對編輯器來說不是*。 – Charles
@Charles:你的觀點是......? – Mrchief
@Mrchief,一件事的四個標籤是壞事。不過,感謝我打敗了新的標籤創作。除非你明白我的意思,否則我會翻閱其他標籤,並將新標籤添加到相關問題中。 – Charles