javascript – ExtJs手动触发Click事件,按钮param与鼠标点击不同

前端之家收集整理的这篇文章主要介绍了javascript – ExtJs手动触发Click事件,按钮param与鼠标点击不同前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
所以,我有一个登录控制器,你可以点击登录鼠标或按Enter键,如下所示:
Ext.define('My.controller.Login',{
    extend: 'Ext.app.Controller',init: function(application) {
        this.control({
            "#idLogin button": {click: this.onButton},"#idLogin form > *": {specialkey: this.onKey}
        });
    },onButton: function(button,e,eOpts) {
        var win = button.up('window'); // the login window
        //do more stuff...
    },onKey: function (field,el) {
        if (el.getKey() == Ext.EventObject.ENTER) //ENTER key performs Login
            Ext.getCmp('#idLogin button').fireEvent('click');
    }
});

我意识到当我使用鼠标单击Login按钮时,onButton函数正常工作,button.up()返回Login窗口.

但是,如果我按下Enter键并触发onKey函数来执行fireEvent(‘click’),在这种情况下onButton会启动,但参数按钮与鼠标单击时收到的按钮参数不同!而这次,button.up()函数是未定义的.

问题是,为什么fireEvent(‘click’)给我一个不同的按钮参数?

解决方法

您必须使用fireEvent函数
var myBtn = Ext.getCmp('#idLogin button');

myBtn.fireEvent('click',myBtn);

试试看.

原文链接:https://www.f2er.com/js/156293.html

猜你在找的JavaScript相关文章