Events Qooxdoo按ID保存多个按钮

Events Qooxdoo按ID保存多个按钮,events,button,qooxdoo,Events,Button,Qooxdoo,我使用以下方法: var list = []; lin = new gui.AWindow(); Len = list.length; lin.add(Len+1); list[Len] = "close button"; 多次在窗口中生成新行按钮。单击按钮以给出其行号时,我需要事件处理程序 qx.Class.define("gui.AWindow", { extend : qx.ui.window.Window, events

我使用以下方法:

  var list = [];
  lin = new gui.AWindow();

  Len = list.length;                
  lin.add(Len+1);
  list[Len] = "close button";
多次在窗口中生成新行按钮。单击按钮以给出其行号时,我需要事件处理程序

qx.Class.define("gui.AWindow",
{
  extend : qx.ui.window.Window,
    events :
      {
        "execute"   : "qx.event.type.Data"
      },
     members :
     {
        add : function() 
{ 
            closeButton = new qx.ui.toolbar.Button("CLOSE");

            lin.add(closeButton,{row: Pos+1, column: 0});

            closeButton.addListener("execute", function(e) 
                {
                      this.debug(e.getData());

                }, this);
            }

     },
    construct : function()
    {
        this.base(arguments, "gui");
          // hide the window buttons
        this.setShowClose(false);
        this.setShowMaximize(false);
        this.setShowMinimize(false);

        //adjust size
        this.setWidth(250);
        this.setHeight(300);

        var layout = new qx.ui.layout.Grid(0, 0);
        this.setLayout(layout);


    }
});

如果使用qx.data.Array而不是标准的JS列表,那么可以使用indexOf方法查找数组中按钮的索引

在事件处理程序中,可以使用qx.event.type.event.getTarget()方法获取对触发事件的小部件的引用,并将其传递给indexOf方法