为什么在Indesign中关闭窗口不起作用?

时间:2014-11-14 16:57:06

标签: javascript adobe-indesign

我有一个关于Indesign脚本的问题。

当你关闭一个窗口时,它为什么会起作用:

submitButton.onClick = function(){
    close();
}

但是当我尝试之后执行一个函数时:

submitButton.onClick = function(){
    close();
    tagElements();
}

(注意我使用的是“with”标签,因此不需要window.close()

窗口没有关闭?我忘记了什么吗?窗口不应该关闭,然后执行函数吗?

窗口初始化为:

var de = new Window('dialog', 'Descriptions');

4 个答案:

答案 0 :(得分:1)

close()替换de.close()应该可以解决问题。这对我有用;

var de = new Window('dialog', 'Descriptions');
btn = de.add('button', undefined, 'close');  
btn.onClick = function() {  
    de.close();
    alert('foo');
}
de.show();

答案 1 :(得分:0)

您可能必须在关闭后添加延迟(未尝试):

function pause(msec) { 
  var done = null; 
  var date = new Date(); 
  var curDate = null; 
  do curDate = new Date(); 
  while(curDate-date < msec); 
  var done = 1; 
  return done; 
} 

submitButton.onClick = function(){
    close();
    pause(500);
    tagElements();
}

答案 2 :(得分:0)

您需要在代码中引用Opened窗口。

submitButton.onClick = function(){
de.close();
tagElements();
}

应该有效

答案 3 :(得分:0)

以下做了诀窍:

with(de)
    submitButton.onClick = function(){
        close(1);
     }
}
if(de.show){
    tagElements();
}
当你通过&#39; 1&#39; de.show将是真的。在关闭函数中(1 == true)。在关闭按钮上,您只需添加&#39;关闭()&#39; if语句将为false。