4

有没有类似的

editor.getSession.trigger('change')

我想要这个的原因是因为编辑器进出新的,所以当它重新出现时,我需要它来做正常的“改变”事情,但我不想等待用户输入?

目前我有

editor.getSession().on('change', function(){
    editorChangeHandler()
})

我只记得

        editorChangeHandler()

当我需要时,但editor.getSession.trigger('change')要好得多。

4

2 回答 2

3

editor.session._emit('change')会触发 editorChangeHandler,但虚假的更改事件会破坏撤消历史记录。

于 2013-04-16T05:13:57.057 回答
0

我想要这个的原因是因为编辑器进出新的,所以当它重新出现时,我需要它来做正常的“改变”事情,但我不想等待用户输入?

您可以使用underscore.js尝试替代解决方案。

改变:

editor.getSession().on('change', function(){
    editorChangeHandler()
})

至:

editor.getSession().on('change', _.debounce(function() {
    editorChangeHandler()
}, 100))

当您触发更改时,如下所示:

editor.setValue('my change..');

那么它的行为就像你的愿望:

editor.getSession.trigger('change')
于 2019-10-15T07:25:32.957 回答