我有一个在激活选项卡时调用的侦听器。
, listeners: {
activate: function(tab){
var first = tab.down('input'), // will be null
firstEl = tab.getEl().down('input'); // will contain first input element
我不太幸运能理解 tab 和 tab.getEl() 之间的关系。如果这是 jquery,$(tab) 会给我一个 jquery 元素,它将在很大程度上扩展我的选项集。extjs 在这方面似乎几乎落后,或者至少更复杂。
我试图了解我何时以及为什么需要getEl()
,这样它就不再是关于什么会起作用和不会起作用的开发废话。在其他地方,我会做以下事情:
showFieldHelpOnBlur = function(ctrl) {
ctrl.up('form').down('#helptext').update("");
}
没有 getEl()。在这种情况下,表单是一个元素标签,就像输入(上图)一样,但在使用它之前我不需要 getEl()。通常,共享相同名称但工作方式不同的两组功能令人沮丧,并且文档似乎没有提供任何线索来说明为什么有多个具有相同名称的方法可以做不同的事情,或者以不同的方式做类似的事情。
发现了一些类似的问题focus()
,但如果我只是理解为什么有 2 组看似平行的方法用于包装在附加功能中的本质上的 DOM 元素,那么这些问题可能更有意义。