LINUX.ORG.RU

jquery click


0

1

Загружается страница html, делается запрос AJAX и создаются элементы.

$( function() {
doSearch();
$('img').click( function() { alert('User clicked on'); });
$('div#1').click( function() { alert('User clicked on'); });
$('img.close').click( function() { alert('User clicked on'); });
$('.close').click( function() { alert('User clicked on'); });
});

Не работает click ни c одной строкой создания.
Но для элементов загруженных вместе с html (не созданных из jquery) все работает,
вызываются из $( function() по id,class или просто элемент.

Так и должно быть?
Что будет с элементами, создаваемыми после создания click?

★★

Последнее исправление: WinLin2 (всего исправлений: 1)

Кроме live, кстати, можно и вручную вешать биндинги после создания.

anonymous
()
Ответ на: комментарий от anonymous

Порядок вызова:
doSearch();
$('img').click( function() { alert('User clicked on'); });

Внутри doSearch (в самом конце) также не работает.
Порядок вызова не влияет.

click не видит все созданные динамически элементы.

live() - помог.

WinLin2 ★★
() автор топика
Ответ на: комментарий от WinLin2

потому что клик вешается до того как они создадутся, не смотря на порядок вызовов (может у тебя там асинхронный вызов в дусёч), кури маны, опять же

trashymichael ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.