一般来说,对编码来说是新手,想知道是否可以更改变量的内容并使用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,您可以直接执行此操作。而且,如果您想更改UI,我认为您需要运行win.layout.layout(true);使其可见。以下代码每次单击都会向您的标签添加一个按钮。
(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=hO() };
function hO() {
myTab.add("button", undefined,"Retgf");
win.layout.layout(true);
};
win.onResizing = win.onResize = function() {
this.layout.resize();
};
win instanceof Window
? (win.center(), win.show()) : (win.layout.layout(true), win.layout.resize());
}
})(this);