Ext JS 4.1:将点击事件监听器添加到headerCheckbox
问题描述:
我有一个可选行的网格。你可以在JS Bin找到我的代码。Ext JS 4.1:将点击事件监听器添加到headerCheckbox
如何将点击事件侦听器添加到包含复选框的列标题中?
此代码不起作用:
this.columns[0].on('click', function() {
// Do stuff
});
添加监听器复选框是好的:
this.columns[0].textEl.on('click', function() {
// Do stuff
});
但我想整个头部,不仅复选框,侦听点击事件。 :?'(
如何做到这一点分别,为什么我的代码失败
答
诀窍是事件监听器添加到headerCheckbox的元素,而不是组件本身。
this.columns[0].el.on('click', function() {
// Do stuff
});
请参阅JS Bin。
Thx to @ scebotari66指向我正确的方向!
答
this.columns[0]
似乎参考你的‘第一列’其实this.columns.length
回报2.这里被存储到列中的引用是什么?。
此外,这些列没有单击事件,因此您在其元素上设置了一个点击侦听器
这就是说,这里是验证码:
listeners: {
viewready: {
fn: function() {
var checkcolumnHeader = this.columnManager.columns[0];
checkcolumnHeader.getEl().on('click', function() {
console.log('clicked');
});
}
}
}
我假设你的解决方案的目标是ExtJS 4.2,看着你的小提琴。在ExtJS 4.1中,'this.columns [0]'确实指向复选框头部单元。但是,您将听众添加到组件的元素而不是组件本身是正确的。感谢提示! :) – Thorsten