Как заставить скрипт обновить свои знания о dom?
Доброго времени суток!
Есть каталог товаров и слайдер новых товаров, все тянется из бд и подгружается на страничку аяксом. Возникла проблема, если кликнуть по ссылке на подгруженном контенте, то ничего не происходит, хотя скрипт выполняется. При проверке алертом $(this).attr('href') ловлю undefined. Получается, что скрипт не подозревает о существовании элементов, которые я подгрузил. Как это исправить? Зы пока что допер только до ужасного костыля, который со всем подгружаемым контентом загружал скрипт, а потом удалял все копии этого скрипта |
l-liava-l,
ну тут два варианта, первый ты уже назвал, второй: вешать событие на подгружаемый блок заочно |
|
Цитата:
Можно вешать событие на контейнер, в котором будут подгружены данные и фильтровать событие по критериям. Например контейнер с id="container" в которвый подгружаются изображения с class="img" Если составить скрипт так: document.getElementById("container").onmousedown = function (e) { if (e.target.className === "img") { alert("boom"); } }; то сколько бы ты картинок не подгрузил они все равно будут реагировать на это событие |
Цитата:
рони, я пробую вот так, но ничего не изменилось. $("container a").on("click", function() { $("container").load($(this).attr('href')); }); |
l-liava-l,
Нун определить ближайшую неперезагружаемую обертку типо $("#Wrap"); и делегировать событие Тогда $("#Wrap").on("click", "container a", function() { $(this).attr('href'); }); Поправил |
ВАЙ заработало!!!))
Благодарю! ps Deff, ты там скобочкой опечатался |
Часовой пояс GMT +3, время: 07:23. |