Adobe ExtendScript Javascript:用包含UI元素的函数替换字符串

Adobe ExtendScript Javascript:用包含UI元素的函数替换字符串,adobe,extendscript,Adobe,Extendscript,对于一般的编码来说是新手,我想知道是否可以更改变量的内容并使用replace()或change()将其更新到UI?我相信这比那要困难得多,但我不能把我的头绕过去 (function(thisObj) { scriptBuildUI(thisObj) function scriptBuildUI(thisObj) { var win = (thisObj instanceof Panel) ? thisObj : new Window("palette", "r

对于一般的编码来说是新手,我想知道是否可以更改变量的内容并使用replace()或change()将其更新到UI?我相信这比那要困难得多,但我不能把我的头绕过去

(function(thisObj) {

    scriptBuildUI(thisObj)

    function scriptBuildUI(thisObj) {
        var win = (thisObj instanceof Panel) ? thisObj : new Window("palette", "replaceTest", undefined, 0);
        win.alignChildren = ['center','top'];

    var myTab = win.add("panel", undefined); 
        var replacebutton = myTab.add("button",undefined,"Replace");
        var myTab2 = "x";
        replacebutton.onClick = function(){ myTab2.replace("x",function(){hO()}) };

        function hO() {myTab.add("button", undefined,"Retgf")};

        win.onResizing = win.onResize = function() {
            this.layout.resize();
        };

        win instanceof Window
            ? (win.center(), win.show()) : (win.layout.layout(true), win.layout.resize());
    }


})(this);

我不知道你想在这里做什么。myTab2是一个字符串变量,.replace()是其中的一个字符串函数。它返回一个字符串。那么您是想用函数的内容替换“x”吗?为了什么? 而且,在我看来,这只会在myTab中添加另一个按钮

如果你能告诉我你想做什么,也许我们能找到一份工作

编辑:要将您的函数分配给myTab2,您可以直接这样做。如果你想改变你的用户界面,我认为你需要运行win.layout.layout(true);让他们可以看到。下面的代码会在每次单击选项卡时向其添加一个按钮

(功能(thisObj){
scriptBuildUI(thisObj)
函数scriptBuildUI(thisObj){
var win=(thisObj面板实例)?thisObj:新窗口(“调色板”,“替换测试”,未定义,0);
win.alignChildren=['center','top'];
var myTab=win.add(“面板”,未定义);
var replacebutton=myTab.add(“按钮”,未定义,“替换”);
var myTab2=“x”;
replacebutton.onClick=function(){myTab2=hO()};
函数hO(){
myTab.add(“按钮”,未定义,“Retgf”);
win.layout.layout(真);
};
win.onresizeing=win.onResize=function(){
this.layout.resize();
};
win instanceof Window
?(win.center(),win.show()):(win.layout.layout(true),win.layout.resize());
}
})(本条);