2017-02-17 6 views
0

Рассмотрим этот простой код:Javascript при нажатии клавиш/вниз/вверх события стрельбы порядка

document.addEventListener('keypress', function() { console.log('press'); }); 
document.addEventListener('keydown', function() { console.log('down'); }); 
document.addEventListener('keyup', function() { console.log('up'); }); 

Я попробовал его на обоих Safari 9 и FF 51 и порядок огонь события всегда:

down ->press ->up

Это имеет смысл (по крайней мере для меня).

Мой вопрос:

Это стандартное поведение или некоторые браузеры (возможно, старые, как IE8) вызывают ключевые события в другом порядке?

Более конкретно мне интересно знать, если некоторые браузеры выстреливает pressперед темdown.

+0

Что заставило бы вас думать, что заказ может быть чем угодно: down, press, up? –

+0

Странное поведение данного браузера. – Paolo

ответ

1

до тех пор, как заказ беспокоит, да все браузер выполнит такой же порядок ... IE8 не будет поддерживать событие addListner, поэтому на заказ не будет вопроса, но IE9 и IE9 + будут выполнять тот же порядок.

+0

Можете ли вы предоставить какой-либо источник этой информации? – bytesized

+0

ну, я тестировал его на IE 8 до IE Edge, Chrome 10, FF 10, Safari 6 все ведут себя одинаково .. кроме IE, что консоль журнала «EventListener не поддерживается» – user7417866