ace 编辑器更改事件和设置值

ace editor change event and setvalue

我正在监听 ACE 编辑器的更改事件以处理用户的输入,而有时我会通过 js setvalue()

那么有没有办法避免setvalue()触发变化事件呢?

无法避免更改事件。 但是因为 change 事件是同步触发的,你可以设置一个标志来不处理你创建的事件。像

var fromSetValue = false;
editor.on("change", function() {
    if (!fromSetValue) {
        // user input
    }
})

fromSetValue = true;
editor.setValue("hi")
fromSetValue = false;