Javascript 视图中的ExtJs单击事件
我想知道单击视图时,单击了哪个ExtJS控件。我是否需要订阅以单击所有控件,或者是否有一种方法可以订阅根元素并单击实际的ExtJS控件?我能够找到DOM元素,但我想要的是ExtJS控件。 我使用的是最新版本的ExtJs 5,我想听听单击视图中的任何元素,这些元素可以是面板、网格、Textarea等。我在顶级dom元素中使用单个事件处理程序。我的代码如下所示:Javascript 视图中的ExtJs单击事件,javascript,extjs,Javascript,Extjs,我想知道单击视图时,单击了哪个ExtJS控件。我是否需要订阅以单击所有控件,或者是否有一种方法可以订阅根元素并单击实际的ExtJS控件?我能够找到DOM元素,但我想要的是ExtJS控件。 我使用的是最新版本的ExtJs 5,我想听听单击视图中的任何元素,这些元素可以是面板、网格、Textarea等。我在顶级dom元素中使用单个事件处理程序。我的代码如下所示: listeners: { click: { element: "el",
listeners: {
click: {
element: "el",
fn: function fn(e,t) {
var domComp = Ext.get(t);
var xComp;
var currentNode = t;
while(true) {
var compID = currentNode.parentNode.id;
xComp = Ext.ComponentManager.get(compID);
if(xComp) break;
currentNode = currentNode.parentNode;
}
//Do something on xComp
}
}
}
我已经部分实现了这一点。但我仍然存在的问题是,我不希望调用实际控件的单击处理程序?应该只调用我上面编写的处理程序。例如:如果一个复选框被点击,我不希望它被选中,但是我的上面的处理程序被调用,我知道这个复选框被点击了?有什么建议吗?很抱歉发布了重复的内容。到目前为止,这个链接似乎对我有效。哎呀,我想我错了。根据文档,它说Ext.get返回Dom元素,而不是Ext组件。我需要找到Ext组件。有什么帮助吗?哪个Ext版本和什么是“控制”来听点击?