在这个神奇的编辑器(Ace: Code Editor)上,有一个我可以获得on change
事件的方法,是否有on keydown
个事件?或者我可以模拟它?
答案 0 :(得分:8)
没有keydown事件,您可以在editor.textInput.getElement()
返回的textarea上添加keydown事件侦听器,但更好的方法是使用editor.commands.addCommand
editor.commands.addCommand({
name: "...",
exec: function() {},
bindKey: {mac: "cmd-f", win: "ctrl-f"}
})
或editor.keyBinding.addKeyboardHandler
答案 1 :(得分:0)
我在the documentation中找不到它,但是在this discussion中,我发现了关于editor.commands.on('afterExec', ...)
API的信息:
editor.commands.on('afterExec', eventData => {
if (eventData.command.name === 'insertstring') {
console.log('User typed a character: ' + eventData.args);
}
});
在编辑器中的每个命令上都会触发 afterExec
。 命令包括诸如键入文字, ctrl + space 上的完成弹出窗口外观等操作……
这不是keydown事件的直接类似物,但这是我来这里时一直在关注的事情,因此希望您会发现它很有用。