Ace 编辑器按回车键不添加换行符
Ace editor pressing enter key does not add a newline
在ace编辑器实例的编辑器字段中按下回车键时没有插入换行符。没有任何反应。
示例启动:
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');
我正在回答我自己的问题,这样遇到类似问题的人会节省一些时间。
如果您遇到这种情况,a user
是对的。事件按键事件被手动捕获,并在代码中的其他地方手动输入时停止了事件。
如果你需要调试这个你可以覆盖 preventDefault and/or stopPropagation 方法:
let debugPreventDefault = Event.prototype.preventDefault;
Event.prototype.preventDefault = function() {
console.log(this);
debugger;
debugPreventDefault.call(this);
};
您可能想要过滤 this.type 事件类型以跳过某些事件。
您网页上的其他内容正在捕捉事件
在没有其他代码的页面上,您的示例有效
<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>
在ace编辑器实例的编辑器字段中按下回车键时没有插入换行符。没有任何反应。
示例启动:
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');
我正在回答我自己的问题,这样遇到类似问题的人会节省一些时间。
如果您遇到这种情况,a user
是对的。事件按键事件被手动捕获,并在代码中的其他地方手动输入时停止了事件。
如果你需要调试这个你可以覆盖 preventDefault and/or stopPropagation 方法:
let debugPreventDefault = Event.prototype.preventDefault;
Event.prototype.preventDefault = function() {
console.log(this);
debugger;
debugPreventDefault.call(this);
};
您可能想要过滤 this.type 事件类型以跳过某些事件。
您网页上的其他内容正在捕捉事件 在没有其他代码的页面上,您的示例有效
<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>