代码之家  ›  专栏  ›  技术社区  ›  Thorsten

Ext JS 4.1:将click事件侦听器添加到headerCheckbox

  •  0
  • Thorsten  · 技术社区  · 7 年前

    我有一个带有可选行的网格。你可以在以下网址找到我的代码 JS Bin .

    如何将click事件侦听器添加到包含复选框的列标题?

    此代码无效:

    this.columns[0].on('click', function() {
        // Do stuff
    });
    

    this.columns[0].textEl.on('click', function() {
        // Do stuff
    });
    

    但是我想要整个标题,而不仅仅是复选框,来监听点击事件(

    我如何做到这一点?我的代码为什么会失败?

    2 回复  |  直到 7 年前
        1
  •  2
  •   scebotari66    7 年前

    this.columns[0] 似乎是指你的“第一栏”。事实上 this.columns.length columns 配置。要获得对复选框列的引用,您必须深入研究 this.columnManager.columns .

    此外,这些列没有单击事件,因此可以在其元素上设置单击侦听器。

    listeners: {
        viewready: {
            fn: function () {
                var checkcolumnHeader = this.columnManager.columns[0];
    
                checkcolumnHeader.getEl().on('click', function () {
                    console.log('clicked');
                });
            }
        }
    }
    

    https://fiddle.sencha.com/#view/editor&fiddle/262i

        2
  •  0
  •   Thorsten    7 年前

    诀窍是将事件侦听器添加到headerCheckbox的元素,而不是组件本身。

    this.columns[0].el.on('click', function() {
        // Do stuff
    });
    

    看见 JS Bin