日期:2014-05-16  浏览次数:20342 次

extjs 组件一直无法获取到EL元素
在define继承组件的时候,想再toolbar的构造函数中添加add时间,目的是对添加在其中的item(基本都是button)添加快捷键,例如
Ext.define('Prolink.toolbar.Toolbar', {
  extend: 'Ext.toolbar.Toolbar',
  listeners: {
  add: function (comp, container, pos, e) {...
这样,但是comp这个已经是里面的按钮的组件对象了,但是为何每次comp.el都是undifined,因为这样,就没办法通过el.on这种来添加事件了,是不是因为这时候还并未把这些按钮渲染到HTML的DOM里面,即没有element元素(这个是猜测),所以我换了added,一样是未定义,接着我换了rendered事件,一样是未定义,所以没办法对toolbar里面的按钮进行绑定事件,这个要如何解决呢?


但是如果是说用keydown的事件,然后触发toolbar的按钮,好像直接在document的body元素里绑定keydown事件即可?

------解决方案--------------------
如果情况真是你这个样子的话:

define只不过定义了一个toolbar,这个时候你还没有把它渲染到页面上去的说,

el是什么,不就是页面元素么,

页面上还没有的东西,怎么会有呢,肯定是undifined,

你把toolbar show出来,这时就有了