FireFox中的Sencha ExtJs TextField KeyDown事件

Sencha ExtJs TextField KeyDown Event in FireFox

本文关键字:KeyDown 事件 TextField ExtJs 中的 Sencha FireFox      更新时间:2023-09-26

所以我有下面的代码来检测按下的键是数字、空格或删除键的位置。如果没有,它将停止将键输入到文本字段中。它在Chrome和IE中运行得很好。当我在FireFox中运行它时,我会收到以下错误:returnValue在以下语句中未定义:e.event.returnValue=false;

这是代码:

keydown:function( sender, e, eOpts )
                    { 
                        if (!isNumberKey(e))
                        {
                            e.event.returnValue = false;
                        }
                    } 

完成工作的功能:

function isNumberKey(e)
{
//Local Varaible Declaration
var returnValue = false;
if (e.keyCode >= 96 && e.keyCode <= 105)
{
    returnValue = true;
}
else if (e.keyCode >= 48 && e.keyCode <= 57)
{
    returnValue = true;
}
else if (e.keyCode == 8 || e.keyCode == 46)
{
    returnValue = true;
}
return returnValue;

}

我查看了firefox中的调试器,发现returnValue确实不存在。我该用什么代替?我相信在火狐一定有办法做到这一点。

谢谢,

Josh

我花了大约4个小时,但这是解决方案。希望这有帮助:

keydown:function( sender, e, eOpts )
                        { 
                            if (!isNumberKey(e))
                            {
                                if (Ext.browser.is.Firefox) 
                                {
                                    e.event.preventDefault();
                                }
                                else
                                {
                                    e.event.returnValue = false;
                                }
                            }
                        }