Sencha ExtJs TextField KeyDown Событие в FireFox

Итак, у меня есть следующий код, который определяет, где была нажата клавиша с цифрой, пробелом или клавишей удаления. Если нет, он останавливает ввод ключа в текстовое поле. Он отлично работает в 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 действительно не существует. Что я использую вместо этого? Я уверен, что должен быть способ сделать это в FireFox.

Спасибо,

мистифицировать

1 ответ

Это заняло у меня 4 часа, но вот решение. Надеюсь это поможет:

keydown:function( sender, e, eOpts )
                        { 
                            if (!isNumberKey(e))
                            {
                                if (Ext.browser.is.Firefox) 
                                {
                                    e.event.preventDefault();
                                }
                                else
                                {
                                    e.event.returnValue = false;
                                }
                            }
                        }
Другие вопросы по тегам