ace编辑器更改事件和setvalue

时间:2015-07-29 09:30:54

标签: javascript events ace-editor

我正在听ACE编辑的变更事件来处理用户的输入,而有时我会用js做setvalue()

那么有没有办法避免setvalue()触发更改事件?

1 个答案:

答案 0 :(得分:4)

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

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

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