Или просто, назовите параметр , событие , и оно будет работать во всех браузерах. Вот пример jQueryish:
$('#' + _aYearBindFlds[i]).on('keyup', function(event) {
if(! ignoreKey({szKeyCodeList: gvk_kcToIgnore, nKeyCode: event.keyCode })) this.value = this.value.replace(/\D/g, '');
});
Этот пример позволяет вводить цифры только для полей года (внутри a для каждого селектора цикла), где ingoreKey () берет список / массив keyCode и сравнивает событие keyCode и определяет, следует ли его игнорировать перед запуском события привязки.
Клавиши, которые я обычно использую для масок / других, - это стрелки, клавиши возврата, табуляции, в зависимости от контекста / желаемого поведения.
Как правило, вы также можете использовать event.which вместо event.keyCode в большинстве браузеров, по крайней мере, когда вы используете jQuery, который зависит от event.which для нормализации событий клавиш и мыши.
Я не знаю наверняка, что происходит под прикрытием в движках js, но кажется, что Mozilla FF соблюдает более строгую область, в которой другие браузеры могут автоматически обращаться к window.event.keyCode область действия самостоятельно, когда событие явно не передается функции или замыканию.
В FF вы также можете обратиться к событию с помощью window.event (как показано в некоторых примерах здесь), который поддержал бы эту мысль.