包含链接的 ExtJs 网格面板返回 false

Posted

技术标签:

【中文标题】包含链接的 ExtJs 网格面板返回 false【英文标题】:ExtJs Grid Panel that contains links returns false 【发布时间】:2012-03-06 10:11:05 【问题描述】:

我有一个ExtJs 3.4 Grid Panel:在里面,第一列的每一行都是链接。

当我单击每一行时,我想在同一页面中打开一个详细信息面板,因此我实现了一个侦听器(在 cellclick 上)。但是我在第一列也有这些链接,当我单击这些链接时我想导航离开,但 Ext 只是重写了我的 onclick 侦听器(在链接上)并返回 false。

实现这一目标的最佳方法是什么?我必须编写另一个侦听器,或者可能是查看单元格是否包含链接的好方法...

【问题讨论】:

【参考方案1】:

您可以使用Ext.EventObject.getTarget 方法来确定cellclick 处理程序中的目标。

例如:

cellclick: function(grid, rowIndex, columnIndex, e) 
    var record = grid.getStore().getAt(rowIndex);        
    if (e.getTarget('a.x-link', this.body)) 
        alert('link');
     else 
        panel.body.update(record.get('company'));
    

工作样本:http://jsfiddle.net/lolo/jD7ZE/2/

【讨论】:

【参考方案2】:

这可能行得通,试试这个

MyGrid.getSelectionModel().on('select', function (rModel, selectedRecord, idx, oBj) 
        $('#History_links').show();
    );

【讨论】:

以上是关于包含链接的 ExtJs 网格面板返回 false的主要内容,如果未能解决你的问题,请参考以下文章

ExtJS 网格面板 - 每行多个“行”?

ExtJs 模态面板控制器看不到我的网格

ExtJS可折叠面板在展开时不呈现工具栏?

网格面板上的 ExtJs moveAfter 列非常慢

ExtJS:向网格中添加的列插入值

在 ExtJS 中从 GridPanel 获取模型