Hii howto가 ExtJS4의 gridpanel에서 itemclick을 재정의 하시겠습니까? 내가 TableA의 일부 행을 클릭이 구성ExtJS4의 gridpanel에 리스너를 무시하는 방법
Ext.define('AM.test.TableAController', {
extend: 'Ext.app.Controller',
init: function() {
this.control({
'tableA': {
itemclick: this.tableSelection
}
});
},
tableSelection: function(grid, record) {
console.log('tableA selection');
}
}
, 내가받을 메시지 "TABLEA 선택" :
Ext.define('AM.test.TableA', {
extend: 'Ext.grid.Panel',
alias: 'widget.tableA',
initComponent: function() {
// tableA configurations
this.callParent(arguments);
}
});
그리고 이런 내 TABLEA 컨트롤러 :이 같은 별칭 TABLEA와 gridpanel이 콘솔에서. 그리고, 난에이 같은 TableB의에 TABLEA를 확장하고자이 같은
Ext.define('AM.test.TableB', {
extend: 'AM.test.TableA',
alias: 'widget.tableB'
});
그리고 내 TableB의 컨트롤러 모습이와
Ext.define('AM.test.TableBController', {
extend: 'Ext.app.Controller',
init: function() {
this.control({
'tableB': {
itemclick: this.tableBSelection
}
});
},
tableBSelection: function(grid, record) {
console.log('tableB selection');
}
}
, 내가 TableB의 일부 행을 클릭합니다. 내 콘솔 대화 상자에서이 같은 메시지 'TableB의 선택'다음 'TABLEA 선택'을 얻을 :
Btw는tableB selection
tableA selection
, 내가 'TableB의'에서 'TABLEA'에서 대해서 itemClick를 대체 무엇을해야 하는가? tableA에서 'itemclick'을 호출하고 싶지 않습니다. 내가 B에 stopPropagation 메소드를 정의해야합니다 경우
Btw는 대해서 itemClick 이벤트의 버블 링을 중지 B에 stopPropogation를 사용해보십시오? 'tableB'또는 'TableBController'에 있습니까? – martinusadyh