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

ExtJs参数小问题
如下这两句是ExtJs语句,谁能讲一下参数e的来龙去脉?不大懂  
var paragraphClicked = function(e){  
    Ext.get(e.target).highlight();  
}  
    Ext.select('p').on('click', paragraphClicked); 
extjs 参数

------解决方案--------------------
那个e就是window.event 代表事件的状态 如事件作用的对象 以及 鼠标的一些熟悉 如位置 等等
------解决方案--------------------
click事件定义:
click( Ext.button.Button this, Event e, Object eOpts )
三个参数分别是 handler.call(me.scope 
------解决方案--------------------
 me, me, e);

触发click事件代码:
    onClick: function(e) {
        var me = this;
        if (me.preventDefault 
------解决方案--------------------
 (me.disabled && me.getHref()) && e) {
            e.preventDefault();
        }
        if (e.button !== 0) {
            return;
        }
        if (!me.disabled) {
            me.doToggle();
            me.maybeShowMenu();
            me.fireHandler(e);
        }
    }

fireHandler: function(e){
        var me = this,
            handler = me.handler;            
        if (me.fireEvent('click', me, e) !== false) {
            if (handler) {
                handler.call(me.scope 
------解决方案--------------------
 me, me, e);
            }
            me.blur();
        }
    }

------解决方案--------------------
对不起,没看见select
select的是这样的
Ext.EventObject e, HTMLElement t, Object eOpts
事件一共三个参数,第一个是事件,第二个是事件的对象,就是平,第三个是ext封装的事件的相关参数
你的这个e应该是eventObject
------解决方案--------------------
对,你传递的是事件名称,返回的是ext对于这个名称封装的事件相对于“p”这个对象这个事件的一个"实例"
click来说,包含事件名称,对象,鼠标位置等等
Element的事件和Component事件还有点不一样,我还没看到那儿,也不是特别清楚