Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.10.2014, 22:09
Аспирант
Отправить личное сообщение для pifon Посмотреть профиль Найти все сообщения от pifon
 
Регистрация: 17.07.2013
Сообщений: 46

Не работает простой код на jQuery
Всем привет! Прошу помощи в следующей задаче:

Есть такой код:
$('#id1').html('<img src="img1.png" /><img src="img2.png" />');


Разумно, что 2 картинки добавляются в блок с id="id1"

Хочу, чтобы при нажатии на одну из этих картинок срабатывала функция. например:

$('#id1 img').click(function(){
		$(this).addClass('activeimg');
	});


Однако такое решение не срабатывает. Как я подозреваю, из-за того, что эти картинки подгружены яваскриптом, а не в хтмл прописаны.

Какое есть решение, чтобы выполнялась задача?

Заранее спасибо за помощь))

Последний раз редактировалось pifon, 16.10.2014 в 22:21.
Ответить с цитированием
  #2 (permalink)  
Старый 16.10.2014, 22:36
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от pifon
Как я подозреваю, из-за того, что эти картинки подгружены яваскриптом
Нет. Картинка, вставленная в DOM из исходника абсолютно ничем не отличается от вставленной скриптом.

Видимо ты не в том порядке разместил свой код. Сначала вставил картинку, затем навесил обработчик. Так у тебя?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 16.10.2014, 22:38
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Можно так:
var $img1 = $('<img src="img1.png" />', {click: function() {
    $(this).addClass('activeimg');
});
var $img2 = $('<img src="img2.png" />');
$('#id1').empty().append($img1).append($img2);
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #4 (permalink)  
Старый 16.10.2014, 22:44
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,080

pifon,
вам либо нужен on
либо всё должно работать и так
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  .activeimg  {
     border: rgba(255, 51, 0, 1) 2px dotted;

  }
  </style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
     $(function(){
      $('#id1').html('<img src="http://javascript.ru/forum/images/smilies/write.gif" /><img src="http://javascript.ru/forum/images/smilies/cray.gif" />');
      $('#id1 img').click(function(){
        $(this).addClass('activeimg');
    });
});
  </script>
</head>

<body>
<div id='id1'></div>


</body>

</html>
Ответить с цитированием
  #5 (permalink)  
Старый 16.10.2014, 22:46
Аспирант
Отправить личное сообщение для pifon Посмотреть профиль Найти все сообщения от pifon
 
Регистрация: 17.07.2013
Сообщений: 46

Сообщение от danik.js Посмотреть сообщение
Нет. Картинка, вставленная в DOM из исходника абсолютно ничем не отличается от вставленной скриптом.

Видимо ты не в том порядке разместил свой код. Сначала вставил картинку, затем навесил обработчик. Так у тебя?
всё верно. сперва вставляется картинка, затем обработчик.
Ответить с цитированием
  #6 (permalink)  
Старый 16.10.2014, 22:54
Аспирант
Отправить личное сообщение для pifon Посмотреть профиль Найти все сообщения от pifon
 
Регистрация: 17.07.2013
Сообщений: 46

Сообщение от рони Посмотреть сообщение
pifon,
вам либо нужен on
либо всё должно работать и так
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  .activeimg  {
     border: rgba(255, 51, 0, 1) 2px dotted;

  }
  </style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
     $(function(){
      $('#id1').html('<img src="http://javascript.ru/forum/images/smilies/write.gif" /><img src="http://javascript.ru/forum/images/smilies/cray.gif" />');
      $('#id1 img').click(function(){
        $(this).addClass('activeimg');
    });
});
  </script>
</head>

<body>
<div id='id1'></div>


</body>

</html>
Странно, что у меня не работает. Код по-сути идентичный...
Буду выяснять, в чем беда, спасибо!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jquery - не работает клик по кнопке выбора варианта bartonom jQuery 0 04.10.2012 13:35
Передалать код под jQuery Дани jQuery 0 08.02.2012 20:37
Не работает jQuery zsaz jQuery 0 26.09.2011 10:02
Не работает простой код. Помогите, очень надо AntiBuger Internet Explorer 1 27.05.2010 16:35
Не работает код из внешнего файла в IE6 Petka jQuery 2 03.03.2010 16:09