Для того, чтобы использовать некоторые более "эквивалентны" on
метод JQuery, вы не должны использовать onkeydown
и onkeyup
обработчиков. Используйте addEventListener
или attachEvent
. attachEvent
специально для более старых версий IE, поэтому addEventListener
является стандартным и используется всеми другими браузерами. Но вы всегда должны включать поддержку, так что вы можете сделать функцию для обработки всего этого. Попробуйте:
function addEvent(element, eventName, callback) {
if (element.addEventListener) {
element.addEventListener(eventName, callback, false);
} else if (element.attachEvent) {
element.attachEvent("on" + eventName, callback);
}
}
addEvent(window, "keydown", Keypress);
addEvent(window, "keyup", Keyoff);
Это позволяет добавлять множественные обработчиков, так же, как метод JQuery в on
делает. Настройка свойств .onkeydown
и .onkeyup
позволяет использовать только один обработчик (если вы не хотите перезаписывать другой). Существует гораздо больше, чем функция addEvent
, чтобы сделать стандартную кросс-браузерную обработку событий (примером является то, что происходит на основе возвращаемого типа обратного вызова). Это действительно сейчас не важно - если вы хотите полную совместимость кросс-браузер, это то, что JQuery для :)
Ссылки:
ой: D от того, ссылка это заставляло это казаться намного сложнее .... спасибо! – user2138152
Я думаю, что усложнение, которое вы описали в другом примере, было связано с различием между событием 'load' окна и событием jQuery' 'ready''. –