谷歌应用脚本:如何将处理程序调用的函数放置在对象中



我创建了一个返回textBox()的对象,该对象可以根据用户的操作更改其属性。但是,一旦我将函数doChange(e)作为这样的方法放入对象中:

function textBoxExt() {
...
  this.doChange = function(e) {...}
...
}

我的代码返回错误:找不到函数 doChange()...

我尝试了不同的方法来将函数声明为对象中的方法,但没有一种奏效。请告诉我,我如何修改下面的代码以将 doChange(e) 作为方法在对象内部移动。处理程序调用的函数有可能吗?

var style = {
  modified: {color: 'black', backgroundColor: 'yellow', },
};
function textBoxExt() {
  var app = UiApp.getActiveApplication();
  var changeHandler = app.createServerHandler('doChange');
  var box = app.createTextBox();
  box.addValueChangeHandler(changeHandler);
  this.init = function(id) {
    return box.setId(id);
  }
}
var doChange = function(e){
  var app = UiApp.getActiveApplication();
  app.getElementById(e.parameter.source).setStyleAttributes(style.modified);
  return app;
  }
function doGet() {
  var app = UiApp.createApplication();
  app.add(new textBoxExt().init('box1').setText('text1'));
  return app;
}
你不能

用汽油做到这一点。处理程序作为文本传递。此外,对象仅在当前处理程序期间存在,因此它不可能从以前的服务器调用附加到对象。

相关内容

  • 没有找到相关文章

最新更新