jQuery - заменить изображение, сохранить обработчики событий - PullRequest
1 голос
/ 30 июля 2009

В настоящее время у меня есть функция jQuery, которая заменяет изображение при нажатии. Например:

  <script type="text/javascript">

  $('#test').click(function(event) {
  event.preventDefault();
  img = $('<img id="myImage" class="photo" src="newImage.jpg>');
  $("#myImage").remove().append(img);
  });

   $('#myImage').click(function(event) {
  event.preventDefault();
  alert("You clicked the image");
  </script>

А мой HTML выглядит следующим образом:

<a id="test">Click Here to Change Picture</a>

 <div id="profilepic" class="fb6a">
      <img id="myImage" class="photo" src="oldImage.jpg>
 </div>

Итак, я заметил, что, «меняя» изображение и заменяя его новым «образом», я теряю обработчик событий, связанный с новым изображением, даже если у него тот же «идентификатор».

Есть ли способ избежать этого?

Спасибо!

Ответы [ 2 ]

1 голос
/ 30 июля 2009

Не можете вспомнить, как происходит всплытие событий в HTML DOM, но вы не можете прикрепить обработчик кликов к окружающему div? Это, конечно, не изменится, и это может избежать того, что звучит для меня как утечка.

0 голосов
/ 30 июля 2009

Попробуйте живое событие .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...