Ext.js学习(一)——回车事件响应

回车事件响应

之前按照百度的方法:常用的有两种

1.编写监听事件

items:{ fieldLabel: 'code',  
        id: 'code',  
        name: 'code',  
        allowBlank: true,  
        listeners : {  
        specialkey : function(field, e) {         
                console.log( e.getKey() );                
                var btn = Ext.getCmp('filter_button');    
                console.log( btn );                   
             if (e.getKey() == Ext.EventObject.ENTER) {
                 //编写具体调用    
             }  
         }
       }
    }

2.分层写法

view       定义    enableKeyEvents: true
controller 层再具体调用

view

items:{ fieldLabel: 'code',  
        id: 'code',  
        name: 'code',  
        allowBlank: true,  
        enableKeyEvents: true
       }
    }

controller

Ext.define('Demo.controller.Controller', {
    extend: 'Ext.app.Controller',
    init:function(){
        this.control({
            'viewport > form textfield[name=password]':{
                keypress: this.userLogin
            }
        })
    },
    userLogin:function(field,e){
        if(e.getKey() == 13){
            Ext.Msg.alert('提示','您已经按下了回车键,可以在这里提交表单做登录操作了... ...')
        }
    }
});

总结

在具体项目中使用时一直出错,多次尝试后才发现是function(field,e)参数问题,添加field之后可以正常显示。

你可能感兴趣的:(ext-js)