在ace编辑器实例的编辑器字段中按Enter键时,不会插入换行符。什么都没发生。
示例启动:
let codeEditor = ace.edit('someElementId', {
minLines: 6,
maxLines: 20,
showLineNumbers: false,
readOnly: false,
newLineMode: 'auto',
});
codeEditor.setTheme('ace/theme/chrome');
codeEditor.session.setMode('ace/mode/json');
答案 0 :(得分:0)
我在回答自己的问题,因此遇到类似问题的人可以节省一些时间。
如果您遇到这种情况,a user
是正确的。手动捕获了事件keypress事件,并在代码中的其他位置手动输入时停止了该事件。
如果需要调试,可以覆盖preventDefault和/或stopPropagation方法:
let debugPreventDefault = Event.prototype.preventDefault;
Event.prototype.preventDefault = function() {
console.log(this);
debugger;
debugPreventDefault.call(this);
};
您可能要过滤this.type事件类型以跳过某些事件。
答案 1 :(得分:0)
您页面上的其他内容正在捕获该事件 在没有其他代码的页面上,您的示例有效
<form>
<div id="someElementId"></div>
</form>
<script src=https://cdnjs.cloudflare.com/ajax/libs/ace/1.4.3/ace.js></script>
<script>
let codeEditor = ace.edit('someElementId', {
minLines: 6,
maxLines: 20,
showLineNumbers: false,
readOnly: false,
newLineMode: 'auto',
});
codeEditor.setTheme('ace/theme/chrome');
codeEditor.session.setMode('ace/mode/json');
</script>