Как заблокировать отмену анимации GIF при нажатии на ESC?
![]() вот так не помогает window.onkeyup=function(e){ if(e.keyCode==27){ e.preventDefault ? e.preventDefault() : (e.returnValue = false); } } |
Ваш пример некорректен - разные документы (скрипт во фрейме
<img src="http://scotsfinn.webs.com/white%20wolf.gif" border="0" alt=""/> <script> window.onkeyup=function(e){ if(e.keyCode==27){ e.preventDefault ? e.preventDefault() : (e.returnValue = false); } } </script> |
http://learn.javascript.ru/keyboard-events
Цитата:
а может стоит оперировать свойствами присущими браузеру, а не пытаться использовать свойства присущие одному в другом? |
Что-то я не понял магию, как именно останавливается анимация?:-?
|
Можно, конечно, сделать свою анимацию по таймеру, но хотелось бы использовать более простой вариант с GIF.
А тут такая незадача... |
Цитата:
|
kaf,
Hужно просто указать, что магия в FF, (* в Опере, к примеру такого нет |
Не понимаю. Все что происходит в функции, так это вызов preventDefault, как он может влиять на анимацию?
|
Цитата:
Цитата:
|
Методом научного тыка оказалось, что блокировка GIF-анимации срабатывает на keydown. Cвой обработчик удобнее ставить на keyup, чтобы исключить обработку ситуации "зажатой" клавиши.
Этот пример корректно работает, если при нажатии ESC фокус находится в созданном iframe (просто кликаем предварительно в нем) <img src="http://scotsfinn.webs.com/white%20wolf.gif" border="0" alt=""/> <script> window.onkeydown=function(e){ if(e.keyCode==27){ e.preventDefault ? e.preventDefault() : (e.returnValue = false); } } window.onkeyup=function(e){ if(e.keyCode==27){ //здесь можно поставить свой обработчик alert('ESC'); } } </script> |
Часовой пояс GMT +3, время: 18:27. |