Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript After Effects事件处理程序在执行过程中终止_Javascript_Extendscript_After Effects - Fatal编程技术网

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键关闭窗口,则无需执行任何操作。这不是我最喜欢的解决方案,但它对我有效。