Ace编辑器使用javascript触发事件

时间:2013-04-15 16:22:19

标签: javascript ace-editor

是否有类似

的内容
editor.getSession.trigger('change')

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

目前我有

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

我记得

        editorChangeHandler()

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

  

我想要这个的原因是因为编辑器进出了新的,   因此,当它重新出现时,我需要它进行其正常的“更改”   东西,但我不想等待用户输入?

您可以尝试使用underscore.js来解决该问题。

更改:

import scala.collection.mutable.ArrayBuffer
import scala.collection.mutable.Map

val fruits = ArrayBuffer[String]()
fruits += "Apple"
fruits += "Banana"
fruits += "Orange"

val x = Map("AL" -> "Alabama")
x += ("AK" -> "Alaska")

收件人:

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

当您触发更改时,例如:

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

然后它将表现为您的愿望:

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