Events 外部文件事件处理程序的事件对象在哪里?

Events 外部文件事件处理程序的事件对象在哪里?,events,adobe,adobe-indesign,extendscript,Events,Adobe,Adobe Indesign,Extendscript,在第136页的第8章:事件()中,它说 eventListeners使用脚本中定义的处理程序函数 (而不是在外部文件中)必须使用#targetengine“会话”。 如果使用#targetengine“main”(默认值)运行脚本,则 事件发生时函数不可用,脚本 生成一个错误 错误如下所示: 无法完成请求的操作,因为对象没有 不再存在 使用#targetengine不是我脚本的选项,因此我一直坚持使用事件处理程序的外部文件引用 我的问题是:如何访问外部文件事件处理程序中的事件对象?我尝试了app

在第136页的第8章:事件()中,它说

eventListeners
使用脚本中定义的处理程序函数 (而不是在外部文件中)必须使用
#targetengine“会话”
。 如果使用
#targetengine“main”
(默认值)运行脚本,则 事件发生时函数不可用,脚本 生成一个错误

错误如下所示:

无法完成请求的操作,因为对象没有 不再存在

使用
#targetengine
不是我脚本的选项,因此我一直坚持使用事件处理程序的外部文件引用


我的问题是:如何访问外部文件事件处理程序中的事件对象?我尝试了
app.scriptArgs.get(“event”)
并检查了
typeof event
,但没有成功。如果不知道事件的目标,我的事件处理程序是无用的。

该事件通过
evt
变量在本地范围内可用

例如,将这两个文件放在同一文件夹中:

activateEventHandler.jsx

var parentFolder=(新文件($.fileName)).parent;
var eventHandlerFile=新文件(parentFolder.fsName+“/onEvent.jsx”);
var eventListener=app.addEventListener(“afterNew”,eventHandlerFile);
app.documents.add();
eventListener.remove();
onEvent.jsx

警报(“事件”+evt.eventType+”,目标为“+evt.target.constructor.name”);
运行activateEventHandler.jsx时,应该会看到一个带有文本的警报

事件“afterNew”与目标文档