【问题标题】:How to know which ace editor fired an 'onchange' event?如何知道哪个 ace 编辑器触发了“onchange”事件?
【发布时间】:2017-02-10 15:26:24
【问题描述】:

我在同一个页面上有几个活动的 ACE 编辑器,每个都应该触发“on change”事件。

editor[iGr].getSession().on('change', function(e) {
  // e contains the change type and data
 some_code...;
});

如何在回调函数中知道哪个编辑器触发了它? 发送到回调的传统“e”对象只有数据更改本身的信息,而不是编辑器本身的信息。 在我的情况下,“this”对象不提供信息(包含本机代码的未命名函数数组)。

【问题讨论】:

  • 您正在使用一组编辑器。编辑器的索引应该可以帮助您根据您的初始化选择哪个编辑器。
  • 是的,但是当我进入“onchange”函数时,收到的对象没有任何关于哪个编辑器触发它的信息。目前,我对所有编辑器执行请求的操作,效率不高。不管怎样,谢谢你的建议。
  • 你是在说'change'事件被触发时的对象事件'e'吗?
  • 您可以查看您的索引“iGr”,这可能有助于您了解哪个编辑器?
  • 是的,“e”是触发更改事件时的事件对象。实际上,我发现我可以使用编写回调函数的上下文。这是基本的 Javascript:如果声明了一个变量(即编辑器的编号),它将在回调函数中看到......因此我可以识别编辑器。无论如何,感谢您的讨论

标签: javascript events event-handling dom-events ace-editor


【解决方案1】:

其实我可以自己回答这个问题:“e”是触发更改事件时的事件对象。我发现我可以使用编写回调函数的上下文。这是基本的 Javascript:如果声明了一个变量(即编辑器的编号),它将在回调函数中看到...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多