我希望我能让自己清楚明白,让你明白。
我正在尝试将ace集成到我的网站中。唯一的问题是,如果我使用tab键,文本将不会重新定位。此外,如果我单击内部开始编辑,该字符将向左插入4个字符。我认为\t
字符不会被绘制出来。
这就是现在的样子,但<h1>
和<p>
标签应缩进1个标签(并且选择和编辑的行为类似于已绘制的标签)。
按顺序从src-min-noconflict加载ace文件:
激活编辑器的代码
$(document).ready(function(){
var editor = ace.edit('editor');
editor.setTheme('ace/theme/terminal');
editor.getSession().setMode('ace/mode/html');
editor.getSession().setFoldStyle('manual');
editor.setSelectionStyle('line');
editor.setHighlightActiveLine(true);
editor.setShowInvisibles(false);
editor.setDisplayIndentGuides(true);
editor.renderer.setHScrollBarAlwaysVisible(false);
editor.setAnimatedScroll(false);
editor.renderer.setShowGutter(true);
editor.renderer.setShowPrintMargin(false);
editor.getSession().setUseSoftTabs(false);
editor.setHighlightSelectedWord(true);
$('textarea[name="new_content"]').hide();
editor.getSession().setValue($('textarea[name="new_content"]').val());
$('form.form-textarea').on('submit', function(){
$('textarea[name="new_content"]').val(editor.getSession().getValue());
});
});
的CSS
#editor {
position: relative;
height: 300px;
font-family: Monaco, Menlo, 'Ubuntu Mono', Consolas, source-code-pro, monospace;
}
HTML
<textarea name="new_content" class="hide">{ filled by the server with html }</textarea>
<div id="editor"></div>