【发布时间】: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