ExtJS-事件管理-鼠标事件(Mouse Events)

更新记录
2022年7月25日 发布。
2022年7月16日 从笔记迁移到博客。

ExtJS教程汇总:https://www.cnblogs.com/cqpanda/p/16328016.html

鼠标事件(Mouse Events)

说明#

键盘事件(Keyboard events)

实例:表单文本框监听键盘弹起事件#

需要先开启键盘事件支持enableKeyEvents: true
然后再监听键盘对应的事件即可

Ext.create({
    xtype: 'textfield',
    labelWidth: 170,
    labelAlign:'top',  //对齐方式,top|bottom|left|right
    fieldLabel: 'UserName',
    name: 'UserName',
    msgTarget: 'under',
    renderTo: Ext.getBody(),
    enableKeyEvents : true, //开启键盘事件
    listeners: {
        keyup:{  //监听按钮弹起事件
            fn:function( thisField, evt, eOpts ){
                //监听回车键
                if(evt.getCharCode() === evt.ENTER){
                    if (thisField.getValue()!=''){
                        Ext.Msg.alert('Alert','Welcome: '+ thisField.getValue() );
                    }
                }
            }
        }
    }
});

DOM键盘事件#

使用keyMap()方法#

在Ext.event.Event类型提供基本所有的键盘按键
比如Enter按键:

Ext.event.Event.ENTER

使用Ext.util.KeyMap类型将键盘事件绑定到处理函数

//创建键盘事件绑定
var map = new Ext.util.KeyMap({
    //事件目标
    target: this.getView().getEl(),
    //键盘事件监听按钮
    key: Ext.event.Event.ENTER,
    //处理函数
    fn: this.onEnterPress,
    //作用域
    scope: this
});

使用DOM事件监听#

Ext.getCmp('textPanel').getEl().on('keydown', function(f, e) {
    if (e.getKey() === Ext.EventObject.ENTER)
    {
        //do whatever you want here
    }
});

实例:监听文本域的回车按钮事件#

//组件定义
{
    xtype: 'textfield',
    fieldLabel: 'Username',
    id: "pandaTest",
},
    
//绑定逻辑
var panelComponent = Ext.getCmp('pandaTest');
panelComponent.getEl().on('keypress',function (event,dom) {
    if(event.getKey() == Ext.EventObject.ENTER)
    {
        Ext.Msg.alert("温馨提示","按下ENTER");
    }
});

实例:监听键盘数值按钮#

//组件定义
{
    xtype: 'textfield',
    fieldLabel: 'Username',
    id: "pandaTest",
},

//绑定逻辑
var panelComponent = Ext.getCmp('pandaTest');
panelComponent.getEl().on('keypress',function (event,dom) {
    if(event.getKey() == Ext.EventObject.ONE)
    {
        Ext.Msg.alert("温馨提示","按下1");
    }

    if(event.getKey() == Ext.EventObject.TWO)
    {
        Ext.Msg.alert("温馨提示","按下2");
    }
});

作者:重庆熊猫

出处:https://www.cnblogs.com/cqpanda/p/16483346.html

版权:本作品采用「不论是否商业使用都不允许转载,否则按3元1字进行收取费用」许可协议进行许可。

posted @   重庆熊猫  阅读(605)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示