Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.01.2013, 00:24
kaf kaf вне форума
Интересующийся
Отправить личное сообщение для kaf Посмотреть профиль Найти все сообщения от kaf
 
Регистрация: 25.06.2012
Сообщений: 24

Как заблокировать отмену анимации GIF при нажатии на ESC?

вот так не помогает
window.onkeyup=function(e){
    if(e.keyCode==27){
        e.preventDefault ? e.preventDefault() : (e.returnValue = false);
    }
}
Ответить с цитированием
  #2 (permalink)  
Старый 09.01.2013, 00:28
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Ваш пример некорректен - разные документы (скрипт во фрейме

<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>

Последний раз редактировалось Deff, 09.01.2013 в 01:40.
Ответить с цитированием
  #3 (permalink)  
Старый 09.01.2013, 00:33
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

http://learn.javascript.ru/keyboard-events
Сообщение от Deff
Ваш пример некорректен - разные документы (скрипт во фрейме
ваш тоже , по причине описанной ниже
а может стоит оперировать свойствами присущими браузеру, а не пытаться использовать свойства присущие одному в другом?

Последний раз редактировалось dmitriymar, 09.01.2013 в 00:38.
Ответить с цитированием
  #4 (permalink)  
Старый 09.01.2013, 00:45
Профессор
Отправить личное сообщение для zebra Посмотреть профиль Найти все сообщения от zebra
 
Регистрация: 14.09.2011
Сообщений: 523

Что-то я не понял магию, как именно останавливается анимация?
Ответить с цитированием
  #5 (permalink)  
Старый 09.01.2013, 00:46
kaf kaf вне форума
Интересующийся
Отправить личное сообщение для kaf Посмотреть профиль Найти все сообщения от kaf
 
Регистрация: 25.06.2012
Сообщений: 24

Можно, конечно, сделать свою анимацию по таймеру, но хотелось бы использовать более простой вариант с GIF.
А тут такая незадача...
Ответить с цитированием
  #6 (permalink)  
Старый 09.01.2013, 00:48
kaf kaf вне форума
Интересующийся
Отправить личное сообщение для kaf Посмотреть профиль Найти все сообщения от kaf
 
Регистрация: 25.06.2012
Сообщений: 24

Сообщение от zebra Посмотреть сообщение
Что-то я не понял магию, как именно останавливается анимация?
простым нажатием ESC
Ответить с цитированием
  #7 (permalink)  
Старый 09.01.2013, 01:02
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

kaf,
Hужно просто указать, что магия в FF, (* в Опере, к примеру такого нет
Ответить с цитированием
  #8 (permalink)  
Старый 09.01.2013, 01:24
Профессор
Отправить личное сообщение для zebra Посмотреть профиль Найти все сообщения от zebra
 
Регистрация: 14.09.2011
Сообщений: 523

Не понимаю. Все что происходит в функции, так это вызов preventDefault, как он может влиять на анимацию?
Ответить с цитированием
  #9 (permalink)  
Старый 09.01.2013, 22:03
kaf kaf вне форума
Интересующийся
Отправить личное сообщение для kaf Посмотреть профиль Найти все сообщения от kaf
 
Регистрация: 25.06.2012
Сообщений: 24

Сообщение от Deff Посмотреть сообщение
kaf,
Hужно просто указать, что магия в FF, (* в Опере, к примеру такого нет
В IE тоже магия срабатывает

Сообщение от zebra Посмотреть сообщение
Не понимаю. Все что происходит в функции, так это вызов preventDefault, как он может влиять на анимацию?
Речь идет о GIF-анимации (не о JS-анимации), которая работает на уровне своего формата. Где-то в браузере заложена остановка GIF-анимации при нажатии ESC. Хотелось бы понять, можно ли это действие (по умолчанию?) заблокировать.
Ответить с цитированием
  #10 (permalink)  
Старый 13.01.2013, 12:48
kaf kaf вне форума
Интересующийся
Отправить личное сообщение для kaf Посмотреть профиль Найти все сообщения от kaf
 
Регистрация: 25.06.2012
Сообщений: 24

Методом научного тыка оказалось, что блокировка 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>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При нажатии на ссылку раскрываются все div anonimous jQuery 1 09.08.2012 14:49
Как сделать что бы при регистрации человека на моем сайте у него не появлялось... drunkwolfs Общие вопросы Javascript 2 07.08.2012 10:58
Как заблокировать checkbox кроме выделенных YCsys Events/DOM/Window 5 06.06.2012 17:34
Как сделать, чтобы 2 ссылки отображались как hover при наведении мышкой на любую? Ava Элементы интерфейса 5 19.05.2009 23:24
Подскажите как убрать часть текста при нажатии на кномпу или гиперссылку. potkin Общие вопросы Javascript 6 10.10.2008 07:55