Очень прошу прощения, что несколько сумбурно задаю вопрос, но я вообще не профи (любитель очень начинающий) в JS, jQuery и всем таком.
В
скрипт test.php в div с id=pictures с помощью jQuery подгружается вывод другого скрипта (pictures.php) с помощью:
$(document).ready(function() {
$("#pictures").load('pictures.php');
});
В скрипте test.php заранее прописан div:
echo '<div id="pictures">Ждем...</div>';
Скрипт pictures.php генерит примерно такое:
...
echo '<img class="kartinka" src="images/'.$var[$testNumber][2].'" id="'.$var[$testNumber][1].'" /><img class="kartinka" src="images/'.$var[$testNumber][4].'" id="'.$var[$testNumber][3].'" />';
...
Что-то вроде этого:
<img class="kartinka" src="images/maika.jpg" id="1"><img class="kartinka" src="images/laika.jpg" id="2">
В браузере открывается test.php. В зависимости от того, на какую картинку кликнуть, на сервер ajax отправляется id картинки. Если id картинки каким-то образом устраивает/не устраивает, скрипт pictures.php отправляет новые картинки. Все просто. Я для жены (она в дет. саду работает) делаю страничку, чтобы ей удобнее было детей тестировать, как они отличают похожие по произношению слова.
Ну и параллельно изучаю работу ajax, поэтому вариант отправлять просто формой в этот же скрипт не хотел бы ваять. Все умеют ajax, а я пока нет :(
В скрипте test.php:
Проблема в том, что по какой-то причине вот этот код:
$('.kartinka').click(function (event) {
console.log('kartinka target: ' + event.target);
console.log('kartinka elem id: ' + event.target.id);
});
не отлавливает нажатия на картинку. В Chrome тишина.
А вот этот:
$('#pictures').click(function (event) {
console.log('pictures target: ' + event.target);
console.log('pictures elem id: ' + event.target.id);
});
- отлавливает.
Также не срабатывает:
$("img").click(function(){
...
Других картинок на странице test.php нет, поэтому тут уж не перепутаешь. Нет нажатий на img! и все тут.
При этом срабатывает (в скрипте test.php сделал кнопку с id=btnCheck):
$("#btnCheck").click(function(){
...
answer = $("#pictures img").attr('id');
...
Это отладочное все, простите за сумбур! В общем, делаю вывод, что у меня jQuery не может напрямую обратиться к подгруженным картинкам! Через div с шв=pictures, который изначально есть в скрипте, id картинок ловятся. Можете подсказать, как так? Почему картинки, которые даже в браузере нормально появляются, невозможно отловить напрямую по из id?