Как игнорировать setValue в событии.on('input') (ace.js)

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

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

Как это сделать?

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
Другие вопросы по тегам