我有一个关于Indesign脚本的问题。
当你关闭一个窗口时,它为什么会起作用:
submitButton.onClick = function(){
close();
}
但是当我尝试之后执行一个函数时:
submitButton.onClick = function(){
close();
tagElements();
}
(注意我使用的是“with”标签,因此不需要window.close()
)
窗口没有关闭?我忘记了什么吗?窗口不应该关闭,然后执行函数吗?
窗口初始化为:
var de = new Window('dialog', 'Descriptions');
答案 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。