Javascript After Effects事件处理程序在执行过程中终止
考虑以下后效脚本:Javascript After Effects事件处理程序在执行过程中终止,javascript,extendscript,after-effects,Javascript,Extendscript,After Effects,考虑以下后效脚本: var window = new Window('dialog'); var edit1 = window.add('EditText { characters: 20, active: true }'); var edit2 = window.add('EditText { characters: 20 }'); edit1.onChange = edit2.onChange = function() { for (var i = 1; i <= 100; i
var window = new Window('dialog');
var edit1 = window.add('EditText { characters: 20, active: true }');
var edit2 = window.add('EditText { characters: 20 }');
edit1.onChange = edit2.onChange = function() {
for (var i = 1; i <= 100; i++) {
$.writeln(i);
}
}
window.show();
var window=新窗口(“对话框”);
var edit1=window.add('EditText{characters:20,active:true}');
var edit2=window.add('EditText{characters:20}');
edit1.onChange=edit2.onChange=function(){
对于(var i=1;i,作为一种解决方法,您可以按如下方式设置OnClose事件:
function fnc(){
for (var i = 1; i <= 100; i++) {
$.writeln(i);
}
}
edit1.onChange = edit2.onChange = function(){
fnc();
}
window.onClose = function(){
edit1.onChange = edit2.onChange = null;
fnc();
}
函数fnc(){
对于(var i=1;i)这是一个聪明的主意,但对我来说不起作用。当我按Esc键关闭窗口时,窗口的onClose处理程序也会提前终止。因此结果是一样的。我找到了一个解决方法:通过订阅onChange而不是onChange,我会立即收到每个按键的通知,因此当用户如果按Esc键关闭窗口,则无需执行任何操作。这不是我最喜欢的解决方案,但它对我有效。