Событие click на подгружаемый ajax-ом контент
Добрый день,
в скрипте подгружаю ajax-ом контент, использую jquery 1.12.1 для подгружаемого контента использую метод on для события click. Но в ответ ничего не происходит. Ошибок никакие не поступает. Подскажите, как нужно исправить код, чтобы была реакция подгружаемого контента на обращающиеся к нему события.
$('#photo-stock').on('click', 'img', function(){
alert("Действие");
});
в блок #photo-stock подгружается контент <img/> |
Poveritov,
Что-то всячески крутил-вертел... Работает. Не смог добиться, чтобы не работало. Правда, без ajax, но подгружаемый.
<!DOCTYPE html>
<html>
<head>
<title>Untitled Page</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js" type="text/javascript"></script>
<script>
$(document).ready(function () {
$('#photo-stock').on('click', 'img', function () {
alert("Действие");
});
});
</script>
</head>
<body>
<div id="photo-stock"></div>
<script>
$('#photo-stock').html("<img src='http://javascript.ru/forum/images/smilies/smile.gif'>");
</script>
</body>
</html>
Для имитации задержки при загрузке использовал вместо скрипта стр.16-18
<input type=button onclick="$('#photo-stock').html(`<img src='http://javascript.ru/forum/images/smilies/smile.gif'>`)" value="+"/>
- все равно работает |
Цитата:
|
Poveritov,
где код настройки аякс запроса + ответ сервера вместе со всеми http заголовками |
Цитата:
|
$.ajax({
url:'/account/metrics/phloader',
type: 'POST',
dataType:"json",
data:({"urlPhoto":postData,"idPhoto":idPhoto}),
success: function(response) {
//происходит вставка <img src='' />
$(".photo-stock ").append(response.photo_mini);
return true;
} ,
error: function(jqXHR, textStatus, errorThrown) {....},
});
в response.photo_mini возвращается <img src='...' /> |
Poveritov,
ну и назначьте обработчик на картинку в функции success. |
можно пример? так как назначил я
$(".photo-stock img#"+response.photo_id).attr("onclick","msgshow("+response.photo_id+")");
не сработало, пишет "photo is not defined" |
Poveritov,
У вас в первом сообщении пример. Только надо перенести его в функцию success.
$('#photo-stock').on('click', 'img', function(){
alert("Действие");
});
|
Все отлично) Спасибо.
|
| Часовой пояс GMT +3, время: 18:58. |