Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не срабатывает .on('load', ...) (https://javascript.ru/forum/misc/45734-ne-srabatyvaet-%27load%27.html)

Romja 14.03.2014 01:10

Не срабатывает .on('load', ...)
 
Собственно, есть такая разметка:
<div class="background">
    <div class="image-wide">
        <img id="wide" src="/images/1394639496.jpg">
    </div>
</div>


В Jquery ставлю событие на загрузку этого изображения:
$('.background').on('load', 'img', function(){
        alert('');
    });


Вообщем не пойму почему событие не срабатывает. Использую .on, так как src изображения у меня еще может меняться. Что я не правильно делаю?

рони 14.03.2014 01:40

Romja,
load ставится на сами картинки и если в кеше тоже несработает.

рони 14.03.2014 02:00

Romja,
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script type='text/javascript' src='http://code.jquery.com/jquery-1.9.1.js'></script>
  <script>
  $(function () {
      var img = $('.background img')
      img.on('load', function () {
          alert('оба-на');
      }).attr({
          src: 'http://javascript.ru/forum/images/ca_serenity/misc/logo.gif'
      });
       window.setTimeout(function () {
         // img.attr({src: 'http://javascript.ru/forum/images/ca_serenity/misc/logo.gif'}) на этот код несработает load в Google Chrome
         img.attr({src: 'http://javascript.ru/forum/images/ca_serenity/misc/logo.gif?'+ Math.random()})
      }, 2000)
  })
  </script>
</head>

<body>
<div class="background">
    <div class="image-wide">
        <img id="wide" src="">
    </div>
</div>
</body>
</html>

danik.js 14.03.2014 02:07

Цитата:

Сообщение от рони
load ставится на сами картинки

Другими словами, событие load не всплывает (то есть не проходит вверх по предкам, например по .background)

Romja 14.03.2014 22:51

Понятно, спасибо. Очень выручили.


Часовой пояс GMT +3, время: 12:07.