我想在第一列(numberer)序号列上添加一个单击事件,意思是在第一列的element上绑定一个自定义事件,然后跟表头一样,点击可以弹出一个上下文菜单。要怎么获取到第一列的var el=....; 
el.addClsOnOver(this.overCls);
el.on('click', this.onElClick, this);
要怎么实现,可以是override(例如在afterRender中)

解决方案 »

  1.   

    你没说是用什么做的表。
    如果是grid,可以用CellSelectionModel。
      

  2.   

    grid没错,我想用
    el.addClsOnOver(me.overCls);
                        me.mon(el, {
                            click: function () {
                               ....
                            },
                            scope: me
                        });
    这样来给rownumberer类型重新render,添加自定义的东西。我需要重写那个RowNumberer类,不是在grid上面直接用单击事件。
      

  3.   

     var colModel = new Ext.grid.ColumnModel([
        new aaa.grid.RowNumberer(),
        {header: "Name1", width: 80, sortable: true},
        {header: "Name2", width: 50, sortable: true},
        {header: "Name3", width: 200, sortable: true}
     ]); Ext.define('aaa.grid.RowNumberer', {
    extend : 'Ext.grid.RowNumberer',
            ......//加click
     });
      

  4.   


    Ext.define('Prolink.grid.RowNumberer', {
                    extend: 'Ext.grid.column.Column',
                    alias: 'widget.plrownumberer',
                    text: "&#160",
                    width: 23,
                    sortable: false,
                    align: 'right',
                    constructor: function (config) {
                        var me = this;
                        this.callParent(arguments);
                        if (this.rowspan) {
                            this.renderer = Ext.Function.bind(this.renderer, this);
                        }
                        me.addClsOnOver(me.hoverCls);
                        me.mon(me, {
                            click: me.onElClick,
                            scope: me
                        });
                    },这边在构造函数里,为什么没有this.el,我能否获得numberer里的el呢?因为如果可以获取到,我就可以通过menu里的showBy(el)这个API,让它弹出菜单。