Javascript.RU

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

Событие load
Здравствуйте!
У меня есть своя страничка, гдя я использую jQuery. В моем скрипте я проверяю загружена ли картинка с помощью события load. После загрузки картинки я скрываю рисунок с прелоадером. До недавнего времени все работало.
$('#my_img').load(function(){my comand});
Но я обновил OPERA до OPERA 10 и теперь скрипт работает только при первом выполнении. В дальнейшем событие load на картинку в OPERA 10 не срабатывает, будет срабатывать только если полностью перезагрузить OPERA и опять сработает только первый раз. Как я понимаю OPERA берет картинку из кэша.
Как выполнить проверку загрузки картинки? Может есть другой способ? Или как бороться с этим в OPERA?

Большое спасибо за внимание!!!!!

Последний раз редактировалось Leksiy, 18.10.2009 в 20:35.
Ответить с цитированием
  #2 (permalink)  
Старый 18.10.2009, 21:34
Интересующийся
Отправить личное сообщение для Jaska Посмотреть профиль Найти все сообщения от Jaska
 
Регистрация: 21.09.2009
Сообщений: 14

юзай $.live либо плагин livequery, он в отличие от стандартного работает в IE
Ответить с цитированием
  #3 (permalink)  
Старый 18.10.2009, 22:44
Новичок на форуме
Отправить личное сообщение для Leksiy Посмотреть профиль Найти все сообщения от Leksiy
 
Регистрация: 18.10.2009
Сообщений: 8

Сообщение от Jaska Посмотреть сообщение
юзай $.live либо плагин livequery, он в отличие от стандартного работает в IE
Пробовал, не работает. Событие load не срабатывает.
Ответить с цитированием
  #4 (permalink)  
Старый 18.10.2009, 23:04
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

оно не срабатывает потому, что картинка уже загружена. Что находится в обработчике?
Ответить с цитированием
  #5 (permalink)  
Старый 18.10.2009, 23:41
Новичок на форуме
Отправить личное сообщение для Leksiy Посмотреть профиль Найти все сообщения от Leksiy
 
Регистрация: 18.10.2009
Сообщений: 8

Сообщение от x-yuri Посмотреть сообщение
оно не срабатывает потому, что картинка уже загружена. Что находится в обработчике?
Извините, может я не понятно объяснил. Ситуация такая - мой скрипт работал во всех браузерах, а это IE6, IE7, Firefox, Opera9, Google Chrome, Safari. Но в Opera 10 он не работает. Поэкспериментировав я понял, что не срабатывает событие load. Я написал следующее:
$('#my_img').load(function (){alert('Yes')});
И эта команда срабатывает везде в чтом числе в ОПЕРА10, но в ОПЕРА 10 только один раз, даже если открыть новую вкладку и зайти на страницу. Если закрыть ОПЕРу и включить заново, опять скрипт сработает 1 раз. Как я понял ОПЕРА берет картинку из кэша и событие load не срабатывает. Хотя, по идее, все браузеры так делают, но при этом load у них срабатывает каждый раз.
Ответить с цитированием
  #6 (permalink)  
Старый 19.10.2009, 13:39
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

src картинки после навешивания события выставляете?
Ответить с цитированием
  #7 (permalink)  
Старый 19.10.2009, 13:49
Новичок на форуме
Отправить личное сообщение для Leksiy Посмотреть профиль Найти все сообщения от Leksiy
 
Регистрация: 18.10.2009
Сообщений: 8

Сообщение от Kolyaj Посмотреть сообщение
src картинки после навешивания события выставляете?
Извините, я не понял Вашего вопроса.
код HTML
<img id="my_img" src="my_page/my_img.jpg">
Код javascript я показал. Никакого изменения src нет, но load должен сработать после события загрузки картинкки. Эфект как я уже говорил.
Ответить с цитированием
  #8 (permalink)  
Старый 19.10.2009, 14:23
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Leksiy
но load должен сработать после события загрузки картинкки
Вот только вы событие навешиваете уже после загрузки. Попробуйте
<img id="my_img" src="my_page/my_img.jpg" onload="alert('yes');">
Ответить с цитированием
  #9 (permalink)  
Старый 19.10.2009, 14:32
Новичок на форуме
Отправить личное сообщение для Leksiy Посмотреть профиль Найти все сообщения от Leksiy
 
Регистрация: 18.10.2009
Сообщений: 8

<img id="my_img" src="my_page/my_img.jpg" onload="alert('yes');">
[/quote]

Согласен с Вами на все 100%. Так работает во всех браузерах, но хотелось бы вызывать функцию используя событие load из библиотеки jquery. Не понятно почему не всегда отлавливаются эти события. Использовать команду bind для связи своей функции с событием не помогает.
Ответить с цитированием
  #10 (permalink)  
Старый 19.10.2009, 14:42
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Leksiy
Не понятно почему не всегда отлавливаются эти события.
Я повторю, мне не трудно
Сообщение от Kolyaj
Вот только вы событие навешиваете уже после загрузки.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как можно программно вызвать событие documenta onafterupdate nikolay84 Events/DOM/Window 1 08.07.2009 02:13
Отловить событие изменения элемента pavl Events/DOM/Window 13 13.04.2009 14:00
какое событие возникает во время формирования html IT-AleX Events/DOM/Window 2 20.02.2009 16:13
Событие OnLoad у iframe в IE milk3dfx Events/DOM/Window 2 16.02.2009 22:09
как проверить поддеружет браузер определенное событие? GOll Элементы интерфейса 9 24.07.2008 14:40