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;
}
}
}