Сетка ExtJs, содержащая ссылки, возвращает false - PullRequest
1 голос
/ 06 марта 2012

У меня есть ExtJs 3.4 Grid Panel: Внутри первый столбец заполнен ссылками в каждой строке.

Когда я нажимаю на каждую строку, я хочу открыть панель сведений на той же странице, чтобы я включил прослушиватель (на cellclick). Но у меня также есть эти ссылки в первом столбце, и я хочу уйти, когда я щелкаю по этим ссылкам, но Ext просто переписывает мой слушатель onclick (по ссылке) с возвращением false.

Каков наилучший подход для достижения этого? Я должен написать другого слушателя или, возможно, было бы хорошим решением, чтобы увидеть, содержит ли ячейка ссылку ...

Ответы [ 2 ]

2 голосов
/ 06 марта 2012

Вы можете использовать метод 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/

0 голосов
/ 06 марта 2012

Это может работать, просто попробуйте это

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