如何忽略.on('输入')事件中的setValue(ace.js)

时间:2014-06-20 03:35:52

标签: javascript ace-editor

editor.on('input', function(e, target) {
    console.log(true);
});

editor.getSession().setValue('value'); // How not to handle it in the input event?

怎么做?

1 个答案:

答案 0 :(得分:1)

输入事件在超时后触发,如果您快速执行多项更改,则仅触发一次。 如果您使用更改事件,则可以执行

var ignore, changed
editor.on('input', function() { // async and batched
    if (changed) console.log(e);
    changed = false
});
editor.on('change', function() { // sync for each change
    if (!ignore) changed = true
});
ignore = true
editor.getSession().setValue('value');
ignore = false