Мне несколько любопытно узнать о «лучших методах», когда дело доходит до захвата клавиши ВВОД в HTML-теге ввода. В IE это легко. window.event.keyCode будет 13, когда нажата кнопка ввода, и это довольно просто. Во всех других браузерах объект аргументов передается в функцию. Тем не менее, это, по-видимому, в основном заставляет вас позднее связывать обработчик функции с объектом. Вы можете сделать:
myInput.onkeypress = function (args)
{
window.alert(args.keyCode);
};
Однако, если вы хотите сделать:
<input onkeypress="checkEnter()" />
Тогда в принципе checkEnter () будет вызываться анонимной функцией (которая теоретически будет иметь объект аргумента), которая затем будет вызывать checkEnter без параметров. Я думаю, вы могли бы сделать что-то совершенно дурацкое, как:
<input onkeypress="checkEnter(arguments)" />
Я не пробовал это, но я предполагаю, что это может сработать. Кажется, что этот дизайн в основном говорит, что позднее связывание является единственным разумным подходом для захвата нажатий клавиш. Я ни в коем случае не фанат IE, но мне кажется, что IE правильно понял и их дизайн превосходен.
Я что-то упустил?