javascript – Ace代码编辑器动态设置语言
作者:互联网
我正在尝试使用下拉列表选择语言来实现Ace代码编辑器.我的下拉有一个模式ID.我让编辑器正常工作,但我无法使用下拉按照我希望的方式更改语言.我目前的代码是
var editor = ace.edit("code");
var textarea = $('textarea[name="code"]').hide();
editor.setTheme("ace/theme/textmate");
editor.getSession().setMode("ace/mode/sql");
editor.getSession().setValue(textarea.val());
editor.getSession().on('change', function(){
textarea.val(editor.getSession().getValue());
});
$('#mode').on('change', function(){
var newMode = $("mode").val();
editor.session().setMode({
path: "ace/mode/" + newMode,
v: Date.now()});
});
如上所述,这成功启动了编辑器,但我无法从SQL更改语言,这是最初的语言.我遇到了这个问题Dynamically update syntax highlighting mode rules for the Ace Editor
这就是我加入的原因
v: Date.now()
但仍然没有运气.
解决方法:
你在editor.session()中有一个拼写错误.setMode({line
使用editor.session.setMode(“ace / mode /”newMode)而不是它.
v:需要Date.now()来禁用缓存,您很可能不需要它.
标签:jquery,javascript,syntax-highlighting,ace-editor 来源: https://codeday.me/bug/20190612/1225682.html