【问题标题】:addEventListener on Panel面板上的 addEventListener
【发布时间】:2019-02-01 05:07:34
【问题描述】:

我有一个用例,我需要以编程方式添加/删除与面板关联的 onClick 事件。

我尝试了以下解决方案,但收到cijCell.addEventListener is not a function 错误。

function cij_enabled(){
  var cijCell = app.pages.Home.descendants.cellFour;
  var index = cijCell.styles.indexOf('disabled-card');

  if (Report.riskOfLoss === 'High') {
    cijCell.styles.splice(index, 1);
    cijCell.addEventListener("click", function() {
      app.popups.Customer.visible = true;      
    });
  } else {
    if (index === -1){
      cijCell.styles.push('disabled-card'); 
      cijCell.removeEventListener("click", function() {
      app.popups.Customer.visible = true;      
    });
    }
  }
}

我怎样才能达到预期的结果?是否可以通过应用程序制造商以这种方式添加事件监听器?

【问题讨论】:

    标签: google-app-maker


    【解决方案1】:

    您绝对可以这样做,而且您几乎做对了。您唯一需要了解的是 appmaker 小部件不是本机 html 元素,因此会出现错误:

    cijCell.addEventListener 不是函数

    幸运的是,AppMaker 有一种方法可以获取与小部件关联的原生 html 元素。您需要使用getElement() 方法,然后您可以使用添加/删除事件侦听器方法。所以你应该把你的代码从cijCell.addEventListener...改成cijCell.getElement().addEventListener...

    参考:https://developers.google.com/appmaker/scripting/api/widgets#Panel

    【讨论】:

      猜你喜欢
      • 2013-10-12
      • 1970-01-01
      • 2017-09-25
      • 2012-10-04
      • 1970-01-01
      • 1970-01-01
      • 2012-01-16
      • 2022-01-14
      相关资源
      最近更新 更多